标签: google-cloud-messaging

Google GCM 服务器返回 404 错误

我想通过 PHP 从我的服务器向手机发送消息。这是我的代码:

    $apiKey = "AIxxxxxxxxxxxxxxxxxxxx";

    $registrationIDs = array( $c2dmId );

    $url = "https://android.googleapis.com/gcm/send";

    $headers = array( 
                        'Authorization: key='.$apiKey,
                        'Content-Type: application/json'
                    );

    $fields = array(
                    'collapse_key'      => $collapseKey,
                    'data'              => array( 
                        "type"      => $msgType,
                        "extra"     => $msgExtra,
                        "uuid"      => $uuid,
                        "user_id"   => $userId),
                    'registration_ids'  => $registrationIDs,
                    );

    print (json_encode($fields));
    echo "<br/>";

    $ch = curl_init();

    curl_setopt( $ch, CURLOPT_URL, $url );

    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

    curl_setopt( $ch, CURLOPT_POST, true );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, …
Run Code Online (Sandbox Code Playgroud)

php android google-cloud-messaging

1
推荐指数
1
解决办法
3675
查看次数

Swift Bundle ID错误中的GCM

我在Swift中执行Google Cloud Messaging时遇到了麻烦.使用GCMExample目标CI我正在获取注册令牌,但是当我尝试运行GCMExampleSwift哪个是Swift时,我收到错误.我对Objective C和Swift都使用相同的'GoogleService-Info.plist'.

2015-10-26 17:31:59.834 GcmExampleSwift [360:51727]配置文件'GoogleService-Info.plist'用于另一个包标识符('com.XXXXXX.mobility.appfactory.dev1.social').使用此文件可能无法正确配置服务.要继续使用此配置文件,您可以将应用程序的包标识符更改为"com.XXXXXX.mobility.appfactory.dev1.social".或者您可以从https:/ 2015-10-26 17:31:59.836 GcmExampleSwift [360:]应用测量v.1100000下载与您的软件包标识符匹配的新配置文件2015-10-26 17:31:59.843 GcmExampleSwift [ 360:51727]已成功配置[CloudMessaging].2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]无法配置[].2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]子目标不存在,因此未配置[Analytics,AdMob,SignIn,AppInvite,Maps].2015-10-26 17:31:59.843 GcmExampleSwift [360:51727]预期存在的子规格[CloudMessaging,Measurement].2015-10-26 17:31:59.936 GcmExampleSwift [360:]网络状态已更改.code,status:2,Connected 2015-10-26 17:31:59.977:GGLInstanceID | 无法在缓存中找到令牌错误域= com.google.iid代码= -25300"(null)"注册到GCM失败并显示错误:无法完成操作.(com.google.HTTPStatus错误401.)2015-10-26 17:32:01.053 GcmExampleSwift [360:51727] - 在仅变换图层中更改属性masksToBounds将无效2015-10-26 17:32:01.053 GcmExampleSwift [360:51727] - 在仅变换图层中更改属性masksToBounds,将无效2015-10-26 17:32:01.053 GcmExampleSwift [360:51727] - 在仅变换图层中更改属性masksToBounds,将无效

ios google-cloud-messaging bundle-identifier swift

1
推荐指数
1
解决办法
6119
查看次数

如何将数据从Android应用程序发送到服务器并处理它?

我们有什么方法可以通过电话向服务器发送通知吗?

就像推子弹一样.

我正在开发一个应用程序作为我的大学项目,通过使用Rich通知从桌面Chrome扩展程序中读取通知栏上收到的通知.我已经实现了已经记录通知文本的通知监听器.我实施了GCM下游和google plus登录.我只需要知道如何将通知数据发送到我的Chrome扩展程序.我已经在两侧设置了google plus login.但我不知道如何在它之间建立联系.

我也认识杰森.我可以在json中理解并实现基本的东西.我也有一些开发chrome扩展的知识.

帮助我:(
你的帮助可以拯救我的生命:(
我确实搜索了很多关于它但没有发现任何地方清除我的怀疑.

notifications android json google-cloud-messaging

1
推荐指数
1
解决办法
365
查看次数

在app.js中加载插件引用:NativeScript

我正在开发一个涉及推送通知的NativeScript应用程序.无论何时推送通知我都需要将通知内容存储到数据库中.

为此,我在"onMessageReceived"函数中编写了一些代码.此代码位于GCM注册码所在的页面中.

如果app正在运行,那么每件事情都运转正常 问题是如果应用程序关闭,则"onMessageReceived"函数甚至不执行(我使用控制台日志检查).

所以为此我试图在app.js中放置"onMessageReceived"函数,这样即使应用程序关闭它也会执行.为此我试图在app.js中导入"nativescript-push-notifications",但是错误说"应用程序为空,它没有正确传递" .Below是我的app.js代码.

app.js

var application = require("application");
var gcm=require("nativescript-push-notifications");
if(gcm.onMessageReceived) {
    gcm.onMessageReceived(function callback(data) { 
    console.log("message received:::: ", "" + JSON.stringify(data));
    storeInDatabase(data);// some function to store notification content into db. 

});
 }
application.mainModule="main-page";
application.start({ moduleName: "main-page" });
Run Code Online (Sandbox Code Playgroud)

我们可以在app.js中导入"nativescript-push-notifications"引用吗?

任何建议都会有所帮助.谢谢.

android push-notification google-cloud-messaging nativescript

1
推荐指数
1
解决办法
205
查看次数

Google 推送通知 - DOMException:注册失败 - 权限被拒绝

我正在遵循(推送位置入门指南),但在第 6 步中遇到错误:

undefined:1 Uncaught (in promise) DOMException: Registration failed - permission denied
Run Code Online (Sandbox Code Playgroud)

我的 manifest.json 文件根据网络选项卡正确加载。

我已将正确的项目编号输入到 manifest.json 中。我尝试添加指南中未提及的其他设置:

{
  "name": "Push Notifications codelab",
  "gcm_sender_id": "123456789",
  "gcm_user_visible_only": true,
  "permissions": [
    "gcm"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我按照指南在本地主机上运行我的服务器。

push-notification google-cloud-messaging

1
推荐指数
1
解决办法
4502
查看次数

Android oreo - 推送通知崩溃

我们现在将我们的应用程序迁移Android 25

compileSdkVersion 26
buildToolsVersion "26.0.0"
Run Code Online (Sandbox Code Playgroud)

我也修改了所有依赖项版本.

我们仍然在我们的应用程序中使用GCM.jar.

当我们在Oreo设备上收到推送通知时,应用程序崩溃.

崩溃日志:

Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 app is in background uid UidRecord{13c38ce u0a297 RCVR bg:+3m5s626ms idle procs:1 seq(0,0,0)}
Run Code Online (Sandbox Code Playgroud)

android google-cloud-messaging android-8.0-oreo

1
推荐指数
1
解决办法
4902
查看次数

批量消息数量超过允许的最大数量...如何解决此问题,我是否需要增加限制,如果是,我该如何解决?

批量消息数量超过(1600)最大允许限制(1000)

....请告诉可能的解决方案。我是否需要增加批量消息最大限制,如果是,那么如何增加允许的最大限制?

android push-notification google-cloud-messaging

1
推荐指数
1
解决办法
1816
查看次数

Google Cloud Pub/Sub 拉取 PERMISSION_DENIED

我的本地机器上有 Google Cloud SDK,当我运行命令时:

gcloud beta pubsub subscriptions pull --auto-ack MY_SUBSCRIPTION_NAME
Run Code Online (Sandbox Code Playgroud)

它工作得很好,我可以看到消息。

但是,如果我在我创建的 GCE VM 中做同样的事情,我会收到以下错误:

ERROR: (gcloud.beta.pubsub.subscriptions.pull) PERMISSION_DENIED: User not authorized to perform this action.
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几件事,例如:

  • 停止实例并添加服务帐号;

  • 使我的实例“允许完全访问所有云 API”;

  • sudo yum update google-cloud-sdk

我不知道还有什么办法让它发挥作用。有任何想法吗?请在这里给我一盏灯。

google-app-engine google-cloud-messaging google-cloud-platform google-cloud-pubsub

1
推荐指数
1
解决办法
3652
查看次数

通用Android通知处理程序

我正在Android应用程序中实现推送通知.我们正在使用OneSignal发送推送通知.我们有一个API可以跟踪所有设备和API,决定哪些设备发送推送通知.

API请求OneSignal和OneSignal向设备发送通知.

在Android中,我使用以下代码获取设备令牌,该代码保存在API上,并使用它来发送推送通知.

public String getGCMTokenForPushNotification(){
    String token = "";
    try {
        InstanceID instanceID = InstanceID.getInstance(this);

        token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
                GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
        Log.i(TAG, "GCM Registration Token: " + token);
        return token;
    }catch (Exception e) {
        Log.d(TAG, "Failed to complete token refresh", e);
    }
    return token;
}
Run Code Online (Sandbox Code Playgroud)

当Android应用程序在那里注册时,R.string.gcm_defaultSenderId是firebase上的SENDER ID.

截至目前,我已经在Android应用程序上设置了OneSignal

 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        OneSignal.startInit(this)
                .setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
                .init();
        }
Run Code Online (Sandbox Code Playgroud)

https://documentation.onesignal.com/docs/android-sdk-setup

如果API正在决定并在信号上初始化设备并发送推送通知.我不认为我会在Android应用程序上要求OneSignal设置.是对的吗?如果我从Android应用程序中删除OneSignal.我应该用什么来处理通知.

背后的原因是,截至目前我们正在使用OneSignal,将来如果我们更改提供商,我们不必在应用程序方面做任何事情.

是否有任何geniric方式来处理Android上的通知请.

谢谢您的帮助.[R

android push-notification google-cloud-messaging onesignal android-push-notification

1
推荐指数
1
解决办法
964
查看次数

是否可以使用 Firebase Cloud Messaging API 列出所有推送通知?

我正在寻找了解 Firebase FCM API 的范围。我的公司要求我实施自定义 FCM 管理面板。假设,管理员可以使用该面板查看默认 Firebase FCM 发送的所有推送通知、向单个设备发送推送通知或订阅预定义主题。

在构建用于向单个设备发送推送通知的列表视图和基本表单后,我将构建一个后端服务器来自动触发 Firebase API 端点来推送通知。但是,我在 Firebase API 方面遇到了一些麻烦。

  1. 是否可以使用 Firebase API 创建 FCM 管理面板?
  2. 除了用于 FCM 的 Firebase API 中的send之外,还有其他公共方法吗?

编辑:我构建了一个原型 lambda 函数,它可以根据 Firebase 中存储的规则查询数据库来发送自动推送通知。该功能计划每天运行。通过下面的这个函数,我调用消息传递对象

private void sentAutomatedMessages(List<String> tokens, CardAbandonmentRule rule) {

    for (String token : tokens) {

        //Create Messaging object for every user that fits in this user
        Messaging msgHandler = new Messaging(rule.getTitle(), rule.getMessage(), token);
        try {
            msgHandler.handleSingleDevicePush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

类定义和发送推送通知的方法=> …

javascript firebase google-cloud-messaging firebase-cloud-messaging firebase-admin

1
推荐指数
1
解决办法
1998
查看次数