Analizar: Recibe devolución de llamada cuando se completa el registro de GCM
Me gustaría enviar el deviceToken
a mi servidor para que pueda iniciar notificaciones push usando la API REST de Parse. Todo esto funciona, excepto que no puedo deviceToken
el deviceToken
cuando esté disponible. Cuando registro la aplicación para recibir notificaciones push en el canal de difusión, compruebo si el deviceToken
en la devolución de llamada done()
. Sin embargo, a menudo aún no está establecido. Estoy buscando una forma de obtener el deviceToken
el momento en que esté disponible, así que puedo evitar sondear o esperar hasta que la aplicación se reinicie para enviar notificaciones push.
Lo que he intentado
Grabbing deviceToken en la devolución de llamada de registro de canal
- Boolean java.lang.String.equals (java.lang.Object) 'en un error de referencia de objeto nulo en ParseFacebookUtils.logInWithReadPermissionsBackground
- Android Parse, notificaciones y buildTypes
- El método getApplicationContext () es indefinido - fragmento de problemas
- ¿Cuál es su flujo de trabajo para probar Cloud Code en Parse?
- Preguntas sobre la LocalDataStore en Parse
Parse.initialize(this, applicationId, clientKey) { ParsePush.subscribeInBackground("", new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { String deviceToken = (String) ParseInstallation.getCurrentInstallation().get("deviceToken"); // deviceToken is often still null here. } } });
Grabbing deviceToken in ParseInstallation.saveInBackground ()
final ParseInstallation parseInstallation = ParseInstallation.getCurrentInstallation(); parseInstallation.saveInBackground(new SaveCallback() { @Override public void done(ParseException e) { String deviceToken = (String) parseInstallation.get("deviceToken"); // deviceToken is often still null here. } });
Escuchando para el evento de registro de GCM yo mismo subclassing com.parse.GcmBroadcastReceiver
// Which I can't do, because it's declared final. public final void onReceive(Context context, Intent intent) { PushService.runGcmIntentInService(context, intent); }
- Convertir el número en doble
- ¿Es posible crear un objeto Parse desde JSON
- Tratando de rellenar ListView en Android utilizando objetos de Parse
- Cómo encontrar los lugares más cercanos basados en lat actual y largo usando Parse API (parse.com) en android
- Cómo aplicar un estilo de vista grande a una notificación mediante la biblioteca Parse
- Cómo cargar una imagen en el servidor de análisis utilizando analizar api en android
- FailedBinderTransaction-TransactionTooLargeException
- Parse.com - Enviar duplicado después de reinstalar la aplicación
El propósito del campo deviceToken
es almacenar el ID de suscripción necesario para entregar mensajes a este dispositivo a través de GCM. Interceptar las llamadas de registro de GCM para obtener el identificador de registro con el único propósito de orientar las notificaciones push a este dispositivo puede no ser el mejor enfoque.
Si bien puede utilizar el deviceToken
en una consulta para orientar las notificaciones push a este dispositivo, puede considerar utilizar cualquiera de los otros campos del propio objeto de instalación. Tenga en cuenta que un objeto ParseInstallation
extiende ParseObject
, por lo que puede agregar cualquier campo al objeto de instalación que pueda ayudarle a orientar las notificaciones push a este dispositivo.
Si no dispone de ningún criterio específico que le ayude a identificar de forma única a este usuario de su aplicación y que esté buscando un identificador único, ¿puedo sugerir que guarde el objectId
en su servidor con fines de segmentación? El objectId
está disponible tan pronto como se ejecuta la devolución de llamada de guardar la instalación, independientemente del estado actual del proceso de registro de GCM.
- Envío de parámetros JSON con solicitud HTTPS
- Decodificación de flujo de vídeo en Android de DJI drone