/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * The examples provided by Facebook are for non-commercial testing and * evaluation purposes only. * * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * @flow * @providesModule AdSupportIOSExample */ 'use strict'; var React = require('react'); var ReactNative = require('react-native'); var { AdSupportIOS, StyleSheet, Text, View, } = ReactNative; exports.framework = 'React'; exports.title = 'Advertising ID'; exports.description = 'Example of using the ad support API.'; exports.examples = [ { title: 'Ad Support IOS', render: function(): React.Element { return ; }, } ]; class AdSupportIOSExample extends React.Component { state = { deviceID: 'No IDFA yet', hasAdvertiserTracking: 'unset', }; componentDidMount() { AdSupportIOS.getAdvertisingId( this._onDeviceIDSuccess, this._onDeviceIDFailure ); AdSupportIOS.getAdvertisingTrackingEnabled( this._onHasTrackingSuccess, this._onHasTrackingFailure ); } _onHasTrackingSuccess = (hasTracking) => { this.setState({ 'hasAdvertiserTracking': hasTracking, }); }; _onHasTrackingFailure = (e) => { this.setState({ 'hasAdvertiserTracking': 'Error!', }); }; _onDeviceIDSuccess = (deviceID) => { this.setState({ 'deviceID': deviceID, }); }; _onDeviceIDFailure = (e) => { this.setState({ 'deviceID': 'Error!', }); }; render() { return ( Advertising ID: {JSON.stringify(this.state.deviceID)} Has Advertiser Tracking: {JSON.stringify(this.state.hasAdvertiserTracking)} ); } } var styles = StyleSheet.create({ title: { fontWeight: '500', }, });