android - APS Cloud Push - Payload is null -
just upgraded app appcelerator platform , sdk 4.0.0. if fresh install on android phone, following error. behaves if push notification coming in, there none. idea?
[error] : apscloudpush: payload null! [error] : tiapplication: (main) [4889,4889] sending event: exception on thread: main msg:java.lang.runtimeexception: unable start receiver com.appcelerator.aps.gcmreceiver: java.lang.nullpointerexception: attempt invoke virtual method 'int java.lang.string.length()' on null object reference; titanium 4.0.0,2015/05/18 15:42,9239ff9 [error] : tiapplication: java.lang.runtimeexception: unable start receiver com.appcelerator.aps.gcmreceiver: java.lang.nullpointerexception: attempt invoke virtual method 'int java.lang.string.length()' on null object reference [error] : tiapplication: @ android.app.activitythread.handlereceiver(activitythread.java:2726) [error] : tiapplication: @ android.app.activitythread.access$1700(activitythread.java:144) [error] : tiapplication: @ android.app.activitythread$h.handlemessage(activitythread.java:1449) [error] : tiapplication: @ android.os.handler.dispatchmessage(handler.java:102) [error] : tiapplication: @ android.os.looper.loop(looper.java:155) [error] : tiapplication: @ android.app.activitythread.main(activitythread.java:5696) [error] : tiapplication: @ java.lang.reflect.method.invoke(native method) [error] : tiapplication: @ java.lang.reflect.method.invoke(method.java:372) [error] : tiapplication: @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1028) [error] : tiapplication: [error] : tiapplication: caused by: java.lang.nullpointerexception: attempt invoke virtual method 'int java.lang.string.length()' on null object reference [error] : tiapplication: @ org.json.jsontokener.nextcleaninternal(jsontokener.java:116) [error] : tiapplication: @ org.json.jsontokener.nextvalue(jsontokener.java:94) [error] : tiapplication: @ org.json.jsonobject.<init>(jsonobject.java:156) [error] : tiapplication: @ org.json.jsonobject.<init>(jsonobject.java:173) [error] : tiapplication: @ com.appcelerator.aps.apscloudpush.showtraynotification(apscloudpush.java:347) [error] : tiapplication: @ com.appcelerator.aps.apscloudpush.receivepayload(apscloudpush.java:253) [error] : tiapplication: @ com.appcelerator.aps.gcmreceiver.onreceive(gcmreceiver.java:30) [error] : tiapplication: @ android.app.activitythread.handlereceiver(activitythread.java:2712) [error] : tiapplication: ... 9 more here js code:
var cloudpush = require('ti.cloudpush'); var rc = cloudpush.isgoogleplayservicesavailable(); if(rc == cloudpush.success){ var flagbgpush = function(){ bgpush = true; }; cloudpush.retrievedevicetoken({ success: devicetokensuccess, error: function(){} }); cloudpush.addeventlistener('trayclicklaunchedapp', flagbgpush); cloudpush.addeventlistener('trayclickfocusedapp', flagbgpush); cloudpush.addeventlistener('callback', pushbackgroundcheck); }
are using php script send notifications ??
if suggest use script works fine me :
<?php define('api_access_key', 'your_api_acess_key' ); $registrationids = array('devices_tokens'); // prep bundle $msg = array('android' => array ( 'alert' => 'here message. message', 'title' => 'this title. title', 'vibrate' => true, 'sound' => 'default', 'icon' => 'appicon' )); $fields = array ( 'registration_ids' => $registrationids, 'data' => array( "payload" => $msg) ); $headers = array ( 'authorization: key=' . api_access_key, 'content-type: application/json' ); $ch = curl_init(); curl_setopt( $ch,curlopt_url, 'https://android.googleapis.com/gcm/send' ); curl_setopt( $ch,curlopt_post, true ); curl_setopt( $ch,curlopt_httpheader, $headers ); curl_setopt( $ch,curlopt_returntransfer, true ); curl_setopt( $ch,curlopt_ssl_verifypeer, false ); curl_setopt( $ch,curlopt_postfields, json_encode( $fields ) ); $result = curl_exec($ch ); curl_close( $ch ); echo $result;
Comments
Post a Comment