昨日、約50人のユーザーがアルファテストを開始した小さなアプリがあります。 React Nativeアプリです。 OneSignalによってプッシュ通知が処理され、これらはアプリを最大限に活用するために不可欠です。人々の80%のように、それはうまく働いています。彼らのデバイスは登録され、私はデータベースにuserIdを保存し、通知を送受信します。他の人には、私はuserIdを取得することさえできません。モバイルデバイスがOneSignalに登録されていない理由は何ですか?
すべてのユーザーは全く同じアプリを持っていますが、バリアントはありませんので、OneSignal appIdは間違いなく正しいです。
次のコードは、アプリケーションの起動時に実行されます。失敗したユーザーの場合は、registerOneSignal
関数も呼び出されません。それは本当に奇妙な動作です。 OneSignalのバグでしょうか?
が反応し、ネイティブonesignal:v3.0.5
const alternateApproach = (device) => {
log.debug('onesignal ids', device)
this.activateOneSignal(device.userId, device)
}
const registerOneSignal = (status: SubscriptionStatus) => {
log.debug('onesignal state', status)
if (!status.userId) {
OneSignal.addEventListener('ids', alternateApproach)
return
}
this.activateOneSignal(status.userId)
}
OneSignal.getPermissionSubscriptionState(registerOnesignal)
あなたの 'registerOnesignal'が呼び出されていない場合、何らかの理由で' OneSignal.getPermissionSubscriptionState'が失敗することを意味します。たぶん弱いインターネット接続があるか、実際にはバグかもしれません。 OneSignalのサポートに連絡するのが最善の方法だと思います。 –
私は実動コードでこれをデバッグしていました。しかし、 'registerOneSignal'が呼び出されたことを確認できますが、' getPermissionSubscriptionState'からの実際のコールバックは呼び出されません。私はサポートに連絡するのは残りの選択肢だと思う。 – FredyC