AppsFlyerSDK / appsflyer-react-native-plugin

AppsFlyer plugin for React Native
MIT License
273 stars 196 forks source link

Google Rejected appsflyer sdk #517

Closed duchoanict closed 4 months ago

duchoanict commented 7 months ago

We also received this email from Google today saying our app update was rejected because the AppsFlyer SDK was collecting some data

Report

Screenshot 2023-12-08 at 14 29 17

Plugin Version

"react-native-appsflyer": "6.9.1"

Issue details:

We found an issue in the following area(s):

Version code 153: Policy Declaration - Data Safety Section: Device Or Other IDs Data Type - Device Or Other IDs (some common examples may include Advertising ID, Android ID, IMEI, BSSID, MAC address), Possible SDKs: com.appsflyer:af-android-sdk Version code 156: Policy Declaration - Data Safety Section: Device Or Other IDs Data Type - Device Or Other IDs (some common examples may include Advertising ID, Android ID, IMEI, BSSID, MAC address), Possible SDKs: com.appsflyer:af-android-sdk To bring your app into compliance, follow these steps:

com.appsflyer:af-android-sdk com.appsflyer:af-android-sdk: Consider upgrading to a policy-compliant version of the SDK if available from your SDK provider, or removing the SDK.

Did anyone receive this? How did you fix it?

github-actions[bot] commented 7 months ago

👋 Hi @duchoanict and Thank you for reaching out to us. In order for us to provide optimal support, please submit a ticket to our support team at support@appsflyer.com. When submitting the ticket, please specify:

duchoanict commented 7 months ago

I would like to provide additional information:

this.onInstallConversionDataCanceller = appsFlyer.onInstallConversionData( res => { alert(__onInstallConversionData: ${JSON.stringify(res)}); saveData(APPSFLYER_RESPONSE_INSTALL, JSON.stringify(res)); if (res.data.af_status === 'Non-organic') { if(res.data.mactv){ console.log(___res.data.mactv: ${res.data.mactv}); saveData(APPSFLYER_MCTV, res.data.mactv); }else{ saveData(APPSFLYER_MCTV, APPSFLYER_MCTV); } if(res.data.agency){ console.log(___res.data.agency: ${res.data.agency}); saveData(APPSFLYER_MEDIA_SOURCE, res.data.agency) if (res.data.media_source === MEDIA_SOURCE_BANKHUB) { saveData(APPSFLYER_SUB_CHANNEL, res.data.deep_link_sub1); } } else { console.log(___res.data.media_source: ${res.data.media_source}); saveData(APPSFLYER_MEDIA_SOURCE, res.data.media_source); if (res.data.media_source === MEDIA_SOURCE_BANKHUB) { saveData(APPSFLYER_SUB_CHANNEL, res.data.deep_link_sub1); } } } else if (res.data.af_status === 'Organic') { saveData(APPSFLYER_MEDIA_SOURCE, AppsflyerMediaSource.ORGANIC) } }, ); appsFlyer.getAppsFlyerUID((error, appsFlyerUID) => { if (error) { console.error(error); } else { console.log('on getAppsFlyerUID: ' + appsFlyerUID); reduxStore.dispatch( setReduxState({ appsFlyerUID: appsFlyerUID, }), ); } });

this.onAppOpenAttributionCanceller = appsFlyer.onAppOpenAttribution(res => { console.log(onAppOpenAttributionCanceller: ${JSON.stringify(res)}); console.log(status: ${res.status}); console.log(campaign: ${res.data.campaign}); console.log(af_dp: ${res.data.af_dp}); console.log(link: ${res.data.link}); console.log(DL value: ${res.data.deep_link_value}); console.log(media source: ${res.data.media_source}); });

this.onDeepLinkCanceller = appsFlyer.onDeepLink(async(res) => { console.log(onDeepLinkCanceller: ${JSON.stringify(res)});

if (res?.deepLinkStatus !== 'NOT_FOUND') { console.log(JSON.stringify(res?.data, null, 2)); if(reduxStore.getState().isCheckedDeviceSuccess){ await handleOneLink(res) } else { reduxStore.dispatch(setReduxState({ onelinkURL: res })) await AsyncStorage.setItem(APP_ONELINK, JSON.stringify(res)) } } }); appsFlyer.initSdk( { devKey: ConfigGlobal.appsflyerDevKey, isDebug: false, appId: ConfigGlobal.appStoreId, onInstallConversionDataListener: true, //Optional onDeepLinkListener: true, //Optional timeToWaitForATTUserAuthorization: 10, //for iOS 14.5 }, result => { console.log(appsFlyer.initSdk result ${JSON.stringify(result)}); }, error => { console.log(appsFlyer.initSdk error ${JSON.stringify(error)}); }, ); } export const logAppsflyerCustomEvent = (eventName: string, eventValue: {[x: string]: any}) => { appsFlyer.logEvent( eventName, { ...eventValue, appsFlyerUID: reduxStore.getState().appsFlyerUID, }, () => { console.log(logAppsflyerCustomEvent ${eventName}: done) }, (error) => { console.log(logAppsflyerCustomEvent ${eventName}: ERROR. ${JSON.stringify( error)}) }) } export const logAppsflyerCustomEvent = (eventName: string, eventValue: {[x: string]: any}) => { appsFlyer.logEvent( eventName, { ...eventValue, appsFlyerUID: reduxStore.getState().appsFlyerUID, }, () => { console.log(logAppsflyerCustomEvent ${eventName}: done) }, (error) => { console.log(logAppsflyerCustomEvent ${eventName}: ERROR. ${JSON.stringify( error)}) }) } [image: Screenshot 2023-12-08 at 17.32.58.png] [image: image.png]

On Fri, Dec 8, 2023 at 5:07 PM github-actions[bot] @.***> wrote:

👋 Hi @duchoanict https://github.com/duchoanict and Thank you for reaching out to us. In order for us to provide optimal support, please submit a ticket to our support team at @.*** When submitting the ticket, please specify:

  • ✅ your AppsFlyer sign-up (account) email
  • ✅ app ID
  • ✅ production steps
  • ✅ logs
  • ✅ code snippets
  • ✅ and any additional relevant information.

— Reply to this email directly, view it on GitHub https://github.com/AppsFlyerSDK/appsflyer-react-native-plugin/issues/517#issuecomment-1846900130, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI7O2LMFJXXWPSJPZQQKKT3YILRGRAVCNFSM6AAAAABAMH6RX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBWHEYDAMJTGA . You are receiving this because you were mentioned.Message ID: @.*** com>

-- Phạm Đức Hoàn

Phone: (+84) 986310894 Email: @.***