Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android的GCM通知_Android_Google Cloud Messaging - Fatal编程技术网

使用Android的GCM通知

使用Android的GCM通知,android,google-cloud-messaging,Android,Google Cloud Messaging,我正在制作一款android应用程序,我计划免费提供,试用期为30天。 所以我在考虑实施它的策略。 一种常用的策略是提供一个服务器端服务,当用户第一次安装应用程序时会调用该服务,这样可以节省在服务器上安装应用程序的时间。每次用户启动应用程序时,都会调用该后端服务以检查自安装应用程序以来经过了多少时间。这种策略很好,因为用户无法通过更改设备时间或卸载并重新安装应用程序来规避。 但最大的缺点是,每次启动应用程序时,服务器调用可能会减慢应用程序的速度,从而导致糟糕的用户体验 所以我遇到了谷歌提供的GC

我正在制作一款android应用程序,我计划免费提供,试用期为30天。 所以我在考虑实施它的策略。 一种常用的策略是提供一个服务器端服务,当用户第一次安装应用程序时会调用该服务,这样可以节省在服务器上安装应用程序的时间。每次用户启动应用程序时,都会调用该后端服务以检查自安装应用程序以来经过了多少时间。这种策略很好,因为用户无法通过更改设备时间或卸载并重新安装应用程序来规避。 但最大的缺点是,每次启动应用程序时,服务器调用可能会减慢应用程序的速度,从而导致糟糕的用户体验

所以我遇到了谷歌提供的GCM服务。所以我计划在第一次安装应用程序时,调用服务器端服务来存储安装时间。 当用户随后启动应用程序时,不会拨打任何电话。当试用期结束时,服务器向GCM服务器发送通知,GCM服务器随后通知设备。 但我有两个顾虑:

  • GCM服务能否仅用于向某些设备发送通知,而不是向安装了应用程序的所有设备发送通知,或者是否向所有设备发送通知

  • GCM服务需要在设备上安装Google Play Store应用程序。用户是否可能卸载Google Play Store应用程序,从而停止接收GCM通知,从而规避试用期限制

  • 非常感谢您的输入。

    点击链接,您将获得所需信息,,,这是通过Google Play服务获得的,这是您可以直接使用lib文件夹中的gcm.jar文件的另一种方式,这样您就不需要Google Play服务了


    您可以通过gcm注册用户,并将注册的用户信息与其他信息(如国家/地区的用户名或设备id)一起存储在本地服务器上。。。通过使用此选项,您可以将标记设置为向特定用户发送通知。。。。请记住,gcm注册不允许在注册时存储有关用户的任何标记…

    您需要使用最新的gcm库。 台阶 1) 将Google Play服务库添加到您的项目中 2) 从注册GCM

    3) 从这里下载所有文件

    4) 用户GCMRegister类注册您的设备 5) 在GCMService中收到通知时添加通知代码 6) 在清单中添加服务

     <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:permission="com.google.android.c2dm.permission.SEND">
    - <intent-filter>
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
    - <!--  for Gingerbread GSF backward compat 
      --> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="com.fudiyo" /> 
      </intent-filter>
      </receiver>
    - <service android:name="com.fudiyo.gcmservice.GcmService" android:exported="false">
    - <intent-filter>
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      </intent-filter>
      </service>
    
    
    - 
    -  
    - 
    -