当我尝试以下步骤进行Onesignal新的GDPR更改时,Onesignal没有注册设备,
我不知道是否正确。第 1 步:在应用程序中创建
if(!OneSignal.userProvidedPrivacyConsent()) {
OneSignal.setRequiresUserPrivacyConsent(true);
}
第2步:当用户接受条款时,我将设置提供用户同意(true(
第 3 步:用户接受条款后,我将启动 OneSignal 方法
OneSignal.startInit(this)
.setNotificationReceivedHandler(new OneSignalNotificationReceivedHandler())
.setNotificationOpenedHandler(new OneSignalNotificationOpenedHandler())
.init();
执行上述步骤时,我将收到这样的日志消息
05-23 11:19:21.790 22460-22460/com.example.app V/OneSignal: OneSignal SDK 初始化延迟,用户隐私同意设置为必需 对于此应用程序。
05-23 11:19:21.795 22460-22460/com.example.app W/OneSignal:在用户提供的方法 idsAvailable(( 之前被调用 隐私同意。应用程序设置为需要用户的隐私 在初始化 OneSignal SDK 之前同意。请确保 用户在调用此方法之前已表示同意。你可以检查 通过调用获取最新的 OneSignal 同意状态 OneSignal.userProvisionPrivacyConsent((
在OneSignal仪表板中,我收到这样的消息
谷歌播放服务库初始化错误。检查 冲突的插件,并确保"com.google.android.gms.version"是 在您的 AndroidManifest.xml 中。查看日志猫以获取更多详细信息。
但我在 Android 清单中包含所有必要的细节.xml
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
一定是搞错了。
setRequiresUserPrivacyConsent(true)
必须在初始化OneSignal之前调用。
例:
public void onCreate() {
super.onCreate();
// Prevents OneSignal from sending any data until provideUserConsent` is called.
OneSignal.setRequiresUserPrivacyConsent(true);
// OneSignal Initialization
OneSignal.startInit(this)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.unsubscribeWhenNotificationsAreDisabled(true)
.init();
}
public void onUserTappedProvidePrivacyConsent(View v) {
// will initialize the OneSignal SDK and enable push notifications
OneSignal.provideUserConsent(true);
}
https://documentation.onesignal.com/docs/android-native-sdk#section--setrequiresuserprivacyconsent-