react-native/Examples/UIExplorer/AdSupportIOSExample.js
Christopher Chedeau 28aa691d13 Updates from Fri 13 Mar
- [ReactNative] Oss ActionSheet | Tadeu Zagallo
- [ReactNative] Fix ScrollView.scrollTo() | Christopher Chedeau
- [catalyst|madman] fix location observer | Jiajie Zhu
- [ReactNative] Remove keyboardDismissMode from static | Christopher Chedeau
- [ReactNative] Fix RCTMapManager retaining cycle | Tadeu Zagallo
- [ReactNative] Support loading sourcemaps from sourceMappingURL | Alex Kotliarskyi
- [catalyst] set up directory specific rql transform | Bhuwan Khattar
- [React Native] Add .done() to terminate promise chains | Ben Alpert
- [React Native] add support for reading tracking bit | Owen Coutts
2015-03-13 15:30:31 -07:00

93 lines
1.8 KiB
JavaScript

/**
* Copyright 2004-present Facebook. All Rights Reserved.
*/
'use strict';
var AdSupportIOS = require('AdSupportIOS');
var React = require('react-native');
var {
StyleSheet,
Text,
View,
} = React;
exports.framework = 'React';
exports.title = 'Advertising ID';
exports.description = 'Example of using the ad support API.';
exports.examples = [
{
title: 'Ad Support IOS',
render: function() {
return <AdSupportIOSExample />;
},
}
];
var AdSupportIOSExample = React.createClass({
getInitialState: function() {
return {
deviceID: 'No IDFA yet',
hasAdvertiserTracking: 'unset',
};
},
componentDidMount: function() {
AdSupportIOS.getAdvertisingId(
this._onDeviceIDSuccess,
this._onDeviceIDFailure
);
AdSupportIOS.getAdvertisingTrackingEnabled(
this._onHasTrackingSuccess,
this._onHasTrackingFailure
);
},
_onHasTrackingSuccess: function(hasTracking) {
this.setState({
'hasAdvertiserTracking': hasTracking,
});
},
_onHasTrackingFailure: function(e) {
this.setState({
'hasAdvertiserTracking': 'Error!',
});
},
_onDeviceIDSuccess: function(deviceID) {
this.setState({
'deviceID': deviceID,
});
},
_onDeviceIDFailure: function(e) {
this.setState({
'deviceID': 'Error!',
});
},
render: function() {
return (
<View>
<Text>
<Text style={styles.title}>Advertising ID: </Text>
{JSON.stringify(this.state.deviceID)}
</Text>
<Text>
<Text style={styles.title}>Has Advertiser Tracking: </Text>
{JSON.stringify(this.state.hasAdvertiserTracking)}
</Text>
</View>
);
}
});
var styles = StyleSheet.create({
title: {
fontWeight: 'bold',
},
});