我想通过 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) 我在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,将无效
我们有什么方法可以通过电话向服务器发送通知吗?
就像推子弹一样.
我正在开发一个应用程序作为我的大学项目,通过使用Rich通知从桌面Chrome扩展程序中读取通知栏上收到的通知.我已经实现了已经记录通知文本的通知监听器.我实施了GCM下游和google plus登录.我只需要知道如何将通知数据发送到我的Chrome扩展程序.我已经在两侧设置了google plus login.但我不知道如何在它之间建立联系.
我也认识杰森.我可以在json中理解并实现基本的东西.我也有一些开发chrome扩展的知识.
帮助我:(
你的帮助可以拯救我的生命:(
我确实搜索了很多关于它但没有发现任何地方清除我的怀疑.
我正在开发一个涉及推送通知的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
我正在遵循(推送位置入门指南),但在第 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)
我按照指南在本地主机上运行我的服务器。
我们现在将我们的应用程序迁移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) 我的本地机器上有 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
我正在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
我正在寻找了解 Firebase FCM API 的范围。我的公司要求我实施自定义 FCM 管理面板。假设,管理员可以使用该面板查看默认 Firebase FCM 发送的所有推送通知、向单个设备发送推送通知或订阅预定义主题。
在构建用于向单个设备发送推送通知的列表视图和基本表单后,我将构建一个后端服务器来自动触发 Firebase API 端点来推送通知。但是,我在 Firebase API 方面遇到了一些麻烦。
编辑:我构建了一个原型 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
android ×6
firebase ×1
ios ×1
javascript ×1
json ×1
nativescript ×1
onesignal ×1
php ×1
swift ×1