Per verificare manualmente dalla pista da riga di comando:
adb shell am startservice -a com.google.android.gms.iid.InstanceID --es "CMD" "RST" -n your.package.name/your.own.MyInstanceIDListenerService
dove:
- pacchetto della tua app è your.package.name
- Il nome della classe della vostra implementazione InstanceIDListenerService è your.own.MyInstanceIDListenerService
Questo invierà un intento al servizio con gli extra previsti dalla classe base.
Per far funzionare tutto questo, il servizio deve essere impostato su exported
temporaneamente:
<service
android:name="your.own.MyInstanceIDListenerService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID"/>
</intent-filter>
</service>
Nota: questo dovrebbe essere fatto solo temporaneamente e mai essere esportati in produzione o altro altre app potrebbero accedere al tuo servizio.
Non esiste un modo semplice per testarlo manualmente, ma dalla [pagina Ciclo di vita dell'ID istanza] (https://developers.google.com/instance-id/#instance_id_lifecycle), afferma che i token sono unici e sicuro, ma la tua app o il servizio ID istanza potrebbero dover aggiornare i token in caso di problemi di sicurezza o quando un utente disinstalla e reinstalla la tua app durante il ripristino del dispositivo. Quindi potresti provare a reinstallare l'app durante il ripristino del dispositivo. – ztan