2017-08-26 150 views
0

我有这个问题,我使用CloudPush模块来检索我的应用程序中的令牌,并在所有的测试工作正常,但是当我上传应用程序到商店和人下载它,该应用程序只是没有检索到令牌,我每次创建一个cloudPush实例时都会注意到这个错误。Android - CloudPush不能在生产

[INFO] : *** Vamos a validar 
[INFO] : *** CREATE INSTANCE OF CLOUDHPUSH!!!!!!!!! 
[ERROR] : TiHTTPClient: (TiHttpClient-10) [30,1458] HTTP Error  (java.io.IOException): 404 : Not Found 
[ERROR] : TiHTTPClient: java.io.IOException: 404 : Not Found 
[ERROR] : TiHTTPClient: at ti.modules.titanium.network.TiHTTPClient$ClientRunnable.run(TiHTTPClient.java:1283) 
[ERROR] : TiHTTPClient: at java.lang.Thread.run(Thread.java:818) 
[INFO] : *** BEFORE SINGLE CALL BACK 
[INFO] : *** BEFORE retrieveDeviceToken 
[INFO] : Choreographer: Skipped 46 frames! The application may be doing too much work on its main thread. 
[INFO] : art: Background partial concurrent mark sweep GC freed 3578(221KB) AllocSpace objects, 0(0B) LOS objects, 24%% free, 15MB/20MB, paused 5.096ms total 51.635ms 
[ERROR] : GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included. 
[WARN] : W/InstanceID/Rpc: Found 10076 
[INFO] : Device Token: APA91bHU56CLjjEcMyroqoWH3VJFCSqBIKT2A7Amctdjiuw1Rk5a8upzfJJotfIUTh6619Wx-g7OG2rTMuceHm4r8ASz41K_bEYG1vh2q3_mwTM0ERbij4asAB4IPKIUkEZQCW9HcAFL 

我的代码是:

var self = Ti.UI.createWindow({ 
    orientationModes: [ Titanium.UI.PORTRAIT, Titanium.UI.UPSIDE_PORTRAIT], 
    backgroundColor: params.color6, 
    backgroundImage: "/images/fondo.jpg", 
     navBarHidden:true, 
     exitOnClose:true, 
     fullscreen:true 
    }); 
    self.addEventListener("open", function(){ 

    Ti.API.info("*** Vamos a validar"); 
    if(Ti.Platform.osname=='android'){ 

      Ti.API.info("*** CREATE INSTANCE OF CLOUDHPUSH!!!!!!!!!"); 
     var CloudPush = require('ti.cloudpush'); 
     Ti.API.info("*** BEFORE SINGLE CALL BACK"); 
     CloudPush.setSingleCallback(true); 
     Ti.API.info("*** BEFORE retrieveDeviceToken"); 
     CloudPush.retrieveDeviceToken({ 
      success: function deviceTokenSuccess(e) { 
       var token = e.deviceToken; 
       Ti.API.info('Device Token: ' + e.deviceToken); 
       Utiles.RegistrarEnServidor(token); 
      }, 
      error: function deviceTokenError(e) { 
       Ti.API.info("*** Failed to register for push"); 
      } 
     }); 

我不知道我做错了......在所有的测试工作正常,但在Play商店应用程序无法正常工作,令牌从来没有得到检索。

钛Appcelerator的工作室打造:4.9.1.201707200100
SDK:6.1.2GA
CloudPush:4.0.3

+0

您的代码似乎没有错,但您可以尝试删除此行** CloudPush.setSingleCallback(true); **? –

+0

这是我在使用Cloudpush时从未使用的唯一更改。 –

+0

谢谢@PrashantSaini但问题仍然存在... –

回答

1

为了使您的工作推你需要注意的几的东西,让他们看到一步一步:

tiapp.xml

<!-- Property keys for Arrow Push (required) --> 
<property name="acs-api-key-development" type="string">YOUR DEVELOPMENT API KEY HERE</property> 
<property name="acs-api-key-production" type="string">YOUR PRODUCTION API KEY HERE</property> 
<property name="acs-api-key" type="string">YOUR API KEY HERE</property> 

我希望您在正确的插槽中添加了正确的密钥。您还需要添加你把服务API URL中tiapp.xml

<ti:app> 
    <property name="acs-push-api-url-production">https://api-prod.fooinc.com</property> 
    <property name="acs-push-api-url-development">https://api-dev.fooinc.com</property> 
</ti:app> 

通知/ Badegs在tiapp.xml

<property name="acs-grouped-notification-message-development" type="string">You have $number$ unread messages.</property> 
<property name="acs-grouped-notification-message-production" type="string">You have $number$ unread messages.</property> 
-or- 
<property name="acs-grouped-notification-message" type="string">You have $number$ unread messages.</property> 

也使键值在同一您的i18n文件夹for multiLang

根据您提供的代码似乎都很好,所以没有我根据我的猜测,代码有错误。

证书和配置配置文件(仅适用于iOS)

您需要创建生产/开发适当的配置档案和证书,还需要创建.PEM文件,这将帮助您发送/接收推特定设备和应用程序的通知,这是设备注册工作的地方。所以你需要确保你已经正确创建了证书。你可以看看的过程,以创建证书,并从以下链接供应配置文件https://www.raywenderlich.com/156966/push-notifications-tutorial-getting-started

我希望这可以帮助你解决问题。在此之后,如果您还有其他问题,请告诉我。

好运和欢呼声

阿希什塞巴斯蒂安

+0

我做了一切都没有结果.. –

+0

@JuanCarlosSalinasOjeda:好吧,这很奇怪,如果它不是你必须使用'cloudPush'模块,你当然可以去** GCM ** ** iamYellow **。它非常好,我已经多次使用它,并且非常类似于您已经完成的实现。请检查出来,让我知道它是否有效。 [https://github.com/iamyellow/gcm.js] –

+0

谢谢Sebastian ..这个模块是否仍然可以使用SDK 6.1.2? –

0

我解决了模块的问题: PushClient

我离开这里,如果一些人有相同的问题。