Bài viết Gcm Là Gì – Gcm Với Php (Google Cloud Messaging) thuộc chủ đề về Thắc Mắt đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng https://truonggiathien.com.vn/ tìm hiểu Gcm Là Gì – Gcm Với Php (Google Cloud Messaging) trong bài viết hôm nay nha !
Các bạn đang xem chủ đề về : “Gcm Là Gì – Gcm Với Php (Google Cloud Messaging)”

Cập nhật: GCM không dùng nữa, hãy dùng FCM

Làm cách nào tôi khả năng tích hợp Google Cloud Messaging mới trong phụ trợ PHP?

php  android  firebase-cloud-messaging  google-cloud-messaging 
— user1488243
nguồn
I”ve written a small OOP-library with an implementation of GCM-server. Hope it will help someone 🙂 Check it on GitHub – github.com/CodeMonkeysRu/GCMMessage
HelmiB: I tried your code on website, it executes without any error, but the $result is empty. Also the message won”t deliver. Please help me. I”m in a really need of it.
Cái ngã ba GCMMessage của tôi hỗ trợ sao lưu theo cấp số nhân, điều bắt buộc để dùng API của Google. Nó dùng máy chủ redis để xếp hàng tin nhắn và hỗ trợ điểm cuối mới cũng như iOS: github.com/stevetauber/php-gcm-queue
Rất đơn giản, tất cả những gì bạn cần chỉ là một máy chủ ứng dụng, máy chủ GCM và một ứng dụng lưu trữ dịch vụ đó. Tham khảo ví dụ này. Tại đây localhost vận hành như máy chủ ứng dụng feelzdroid.com/2016/02/ Khăn

Mã này sẽ gửi một thông điệp GCM đến nhiều ID đăng ký thông qua PHP CURL.

// Payload data you want to send to Android device(s) // (it will be accessible via intent extras) $data = array(“message” => “Hello World!”); // The recipient registration tokens for this notification // https://developer.android.com/google/gcm/ $ids = array(“abc”, “def”); // Send push notification via Google Cloud Messaging sendPushNotification($data, $ids); function sendPushNotification($data, $ids) // Close curl handle curl_close($ch); // Debug GCM response echo $result; }
— Elad Nava
nguồn
Nó gần như vận hành ở đây, nhưng tôi không nhận được bất kỳ tin nhắn nào trên điện thoại. Tôi muốn gỡ lỗi nó, nhưng tôi không biết tại sao kết quả $ của tôi luôn trống rỗng …
Cảm ơn câu trả lời này! Tôi đã đưa nó vào một khung công tác đối tượng PHP nếu điều này hữu ích với bất kỳ ai: github.com/kaiesh/GCM_PHP
Sit Vô hiệu hóa kiểm tra chứng chỉ SSL LUÔN LUÔN là một ý tưởng tồi. Nếu máy chủ của bạn không thể xác minh chứng chỉ SSL, hãy dùng kỹ thuật này để báo cho cURL biết chứng chỉ nào sẽ được bắt buộc: unitstep.net/blog/2009/05/05/ hoặc dùng cURL để dùng cacert.pem mới nhất từ ​​trang web của cURL đại loại như thế này: gist.github.com/gboudreau/5206966
php // Replace with the real server API key from Google APIs $apiKey = “your api key”; // Replace with the real client registration IDs $registrationIDs = array( “reg id1”,“reg id2”); // Message to be sent $message = “hi Shailesh”; // Set POST variables $url = “https://android.googleapis.com/gcm/send”; $fields = array( “registration_ids” => $registrationIDs, “data” => array( “message” => $message ), ); $headers = array( “Authorization: key=” .

Bạn đang xem: Gcm là gì

$apiKey, “Content-Type: application/json” ); // Open connection $ch = curl_init(); // Set the URL, number of POST vars, POST data curl_setopt( $ch, CURLOPT_URL, $url); curl_setopt( $ch, CURLOPT_POST, true); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_POST, true); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields)); // Execute post $result = curl_exec($ch); // Close connection curl_close($ch); echo $result; //print_r($result); //var_dump($result); ?>
— Shailesh Giri
nguồn
3

Xin chào Shailesh Giri, nó vận hành tốt bằng cách dùng khóa Trình duyệt , nhưng trong trường hợp khóa Máy chủ, nó hiển thị Lỗi trái phép 401 . Bạn co thể giup tôi được không.
— Sushil Kandola
kết quả mong đợi từ máy chủ là gì? Tôi không nhận được bất kỳ phản hồi! thiết bị cũng không hiển thị bất kỳ tin nhắn.
— shiladitya
3

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);là một không lớn không có. Nếu, vì một vài lý do, máy chủ của bạn chạy mã PHP này không thể xác minh chứng chỉ SSL được dùng bởi các máy chủ của Google, bạn khả năng cho cURL biết phải xác minh điều gì. Ví dụ: unitstep.net/blog/2009/05/05/…
— Guillaume Boudreau
18

Bài Nổi Bật  Biến Cố Độc Lập Là Gì

Thật đơn giản để làm. Các cURL mã đó là trên trang Elad Nava đã đặt ở đây vận hành. Elad đã bình luận về lỗi này mà anh ta nhận được.

Chuỗi mô tả một lỗi xảy ra trong khi xử lý thông báo cho người nhận đó. Các tổng giá trị khả năng giống như được ghi trong bảng trên, cộng với “Không khả dụng” (có nghĩa là máy chủ GCM đang bận và không thể xử lý tin nhắn cho người nhận chi tiết đó, vì thế nó khả năng được thử lại).

Tôi đã có một dịch vụ được thiết lập dường như đang vận hành (ish) và cho đến nay tất cả những gì tôi đã trả lại đều không có lợi nhuận từ Google. Nhiều khả năng điều này sẽ thay đổi ngay sớm.

Để trả lời câu hỏi, hãy dùng PHP, đảm bảo Zend Framework nằm trong đường dẫn bao gồm của bạn và dùng mã này:

php ini_set(“display_errors”,1); include“Zend/Loader/Autoloader.php”; Zend_Loader_Autoloader::getInstance(); $url = “https://android.googleapis.com/gcm/send”; $serverApiKey = “YOUR API KEY AS GENERATED IN API CONSOLE”; $reg = “DEVICE REGISTRATION ID”; $data = array( “registration_ids” => array($reg), “data” => array(“yourname” => “Joe Bloggs”) ); print(json_encode($data)); $client = new Zend_Http_Client($url); $client->setMethod(“POST”); $client->setHeaders(array(“Content-Type” => “application/json”, “Authorization” => “key=” . $serverApiKey)); $client->setRawData(json_encode($data)); $request = $client->request(“POST”); $body = $request->getBody(); $headers = $request->getHeaders(); print(

“); var_dump($body); var_dump($headers);

Và công ty chúng tôi đã có nó. Một ví dụ vận hành (nó sẽ vận hành sớm) về việc dùng GCM mới của GCM trong Zend Framework PHP.

— Roger Thomas
nguồn
9

CẬP NHẬT MASSIVE! Rõ ràng việc dùng Khóa API được thiết lập với Giảm IP không vận hành. Tôi vừa trao đổi Khóa API của mình ở phía Máy chủ để dùng Khóa trong Bảng điều khiển API có tên “Khóa cho ứng dụng trình duyệt (có người giới thiệu)” Và đoán xem! Nó đã đi qua. Đây là những gì tôi đã trả về:
— Roger Thomas
1

Nó bật và tắt ngay bây giờ. Tôi đã có khoảng 3500 tin nhắn mỗi ngày đi qua nó và cho đến nay không có vấn đề gì để báo cáo.
— Roger Thomas
+1 Elad .. bạn phải dùng khóa API ứng dụng BROWSER cho các ứng dụng SERVER! Cảm ơn Google, FAIL thực sự hữu ích ở đó 🙁 (lãng phí nhiều giờ)
— Jonny Nott
13

Sau khi tìm kiếm trong một thời gian khá dài cuối cùng tôi cũng khả năng tìm ra chính xác những gì tôi cần, Kết nối với GCM bằng ngôn ngữ kịch bản phía máy chủ, Hướng dẫn sau đây sẽ cho công ty chúng tôi ý tưởng rõ ràng về cách thiết lập mọi thứ công ty chúng tôi cần để bắt đầu với GCM

Thông báo đẩy Android bằng Google Cloud Messaging (GCM), PHP và MySQL

— Yoga Sai Krishna
nguồn
10

Bây giờ tôi thực sự có công việc này trong một nhánh trong cây Zend_Mobile của mình: https://github.com/mwillbanks/Zend_Mobile/tree/feature/gcm

Điều này sẽ được phát hành với ZF 1.12, mặc khác, nó sẽ cung cấp cho bạn một vài ví dụ tuyệt vời về cách thực hiện việc này.

Đây là một bản demo nhanh về cách nó sẽ vận hành ….

php require_once “Zend/Mobile/Push/Gcm.php”; require_once “Zend/Mobile/Push/Message/Gcm.php”; $message = new Zend_Mobile_Push_Message_Gcm(); $message->setId(time()); $message->addToken(“ABCDEF0123456789”); $message->setData(array( “foo” => “bar”, “bar” => “foo”, )); $gcm = new Zend_Mobile_Push_Gcm(); $gcm->setApiKey(“MYAPIKEY”); $response = false; try catch (Zend_Mobile_Push_Exception $e) // handle all errors and registration_id”s foreach ($response->getResults() as $k => $v) if ($v“error”>) if ($v“message_id”>) }
— mwillbanks
nguồn
1

Đồng ý! Điều này là tốt nhưng làm thế nào tôi khả năng nhận được mã thông báo của người dùng. Tôi đoán bạn đang dùng mã thông báo làm đăng ký. Trong ứng dụng Android của tôi, URL máy chủ sẽ là gì?
— tasomaniac
Có mã thông báo là id đăng ký; điều này đặc biệt bởi vì thư viện cố gắng duy trì một chút trừu tượng vì nó cũng thực hiện APNS và MPNS. URL máy chủ là bất cứ điều gì bạn kết thúc; điều này chỉ đơn giản là cung cấp keo để gửi, bạn sẽ cần phải viết một khu vực nơi bạn sẽ đăng id đăng ký và lưu nó ở đâu đó. Từ đó bạn khả năng dùng mã trên để thực sự gửi thông báo đẩy tới ứng dụng.
— mwillbanks
6

Bài Nổi Bật  Phạm Vi Điều Chỉnh Là Gì ? LuậT Hã Nh Chã­Nh Lã  Gã¬

Rất nhiều hướng dẫn đã lỗi thời và thậm chí mã hiện nay không tính đến khi đăng ký thiết bị được cập nhật hoặc thiết bị không đăng ký. Nếu các mục đó không được kiểm tra, cuối cùng nó sẽ gây ra ra sự cố ngăn không nhận được tin nhắn. http://forum.loungekatt.com/viewtopic.php?t=63#p181

— Giỏ hàng bị bỏ rơi
nguồn
6

mặt khác, bạn khả năng thử đoạn mã này, nguồn :

php define(“GOOGLE_API_KEY”, “AIzaSyCJiVkatisdQ44rEM353PFGbia29mBVscA”); define(“GOOGLE_GCM_URL”, “https://android.googleapis.com/gcm/send”); function send_gcm_notify($reg_id, $message) curl_close($ch); echo $result; } $reg_id = “APA91bHuSGES…..nn5pWrrSz0dV63pg”; $msg = “Google Cloud Messaging working well”; send_gcm_notify($reg_id, $msg);
— dexxtr
nguồn
Mã của bạn hiển thị lỗi “Đã xảy ra sự cố: Không thể kết nối với 74.125.142.95: Quyền bị từ chối”. Vấn đề là gì?
— user2064667
4

php function sendMessageToPhone($deviceToken, $collapseKey, $messageText, $yourKey) if ($httpCode != 200) curl_close($ch); return $response; } $yourKey = “YOURKEY”; $deviceToken = “REGISTERED_ID”; $collapseKey = “COLLAPSE_KEY”; $messageText = “MESSAGE”; echo sendMessageToPhone($deviceToken, $collapseKey, $messageText, $yourKey); ?>

Trong kịch bản trên chỉ cần thay đổi ngay:

“YourKEY” để khóa API thành Khóa máy chủ của bảng điều khiển API.
“REGISTERED_ID” với ID đăng ký thiết bị của bạn
“COLLAPSE_KEY” với khóa mà bạn bắt buộc
“TIN NHẮN” với thông báo mà bạn muốn gửi

Hãy cho tôi biết nếu bạn gặp bất kỳ vấn đề nào trong việc này, tôi khả năng nhận thông báo thành công bằng cách dùng cùng một tập lệnh.

— Ajit
nguồn
2

Bạn khả năng dùng thư viện PHP này có sẵn trên packagist:

https://github.com/CoreProc/gcm-php

Sau khi cài đặt, bạn khả năng làm điều này:

$gcmClient = new GcmClient(“your-gcm-api-key-here”); $message = new Message($gcmClient); $message->addRegistrationId(“xxxxxxxxxx”); $message->setData( “title” => “Sample Push Notification”, “message” => “This is a test push notification using Google Cloud Messaging” >); try catch (Exception $exception)
— chrisbjr
nguồn
0

Đây là một thư viện tôi rẽ nhánh từ CodeMonkeysRU.

Lý do tôi rẽ nhánh là vì Google bắt buộc dự phòng theo cấp số nhân. Tôi dùng máy chủ redis để xếp hàng tin nhắn và gửi lại sau một thời gian đã đặt.

Tôi cũng đã cập nhật nó để hỗ trợ iOS.

Xem thêm: Repercussion Là Gì – Giải Thích Nghĩa, Ví Dụ Hay &Raquo Tiếng Anh 24H

https://github.com/stevetauber/php-gcm-queue

— Steve Tauber
nguồn
Xin chào, bạn khả năng vui lòng chỉ cho tôi các thay đổi ngay được thực hiện cho iOS không, tôi thực sự không thấy gì đặc biệt so với thư viện gốc.
— fralbo
2ndGAB lý do chính khiến tôi rẽ nhánh là sự thụt lùi theo cấp số nhân. Đối với các thay đổi ngay của iOS, bạn khả năng đọc về chúng tại đây: developers.google.com/cloud-messaging/,
— Steve Tauber
0

Đây là mã android cho mã PHP ở trên được đăng bởi
Elad Nava

MainActivity.java (vận hành của Trình khởi chạy)

public class MainActivity extends AppCompatActivity
Override
public void onFailure(String ex) }); } }

GCMClientManager.java

public class GCMClientManager /** *
return Application”s version code from the . */
private static int getAppVersion(Context context) catch (NameNotFoundException e) } // Register if needed or fetch from local store public void registerIfNeeded(final RegistrationCompletedHandler handler) else } else } /** * Registers the application with GCM servers asynchronously. *

* Stores the registration ID and app versionCode in the application”s * shared preferences. */

private void registerInBackground(final RegistrationCompletedHandler handler) InstanceID instanceID = InstanceID.getInstance(getContext()); regid = instanceID.getToken(projectNumber, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); Log.i(TAG, regid); // Persist the regID – no need to register again. storeRegistrationId(getContext(), regid); } catch (IOException ex) return regid; }
Override
protected void onPostExecute(String regId) } }.execute(null, null, null); } /** * Gets the current registration ID for application on GCM service. *

Bài Nổi Bật  Lỗ Châu Mai Là Gì

* If result is empty, the app needs to register. * *
return registration ID, or empty string if there is no existing * registration ID. */

private String getRegistrationId(Context context) // Check if app was updated; if so, it must clear the registration ID // since the existing regID is not guaranteed to work with the new // app version. int registeredVersion = prefs.getInt(PROPERTY_APP_VERSION, Integer.MIN_VALUE); int currentVersion = getAppVersion(context); if (registeredVersion != currentVersion) return registrationId; } /** * Stores the registration ID and app versionCode in the application”s * . * *
param context application”s context. *
param regId registration ID */
private void storeRegistrationId(Context context, String regId) private SharedPreferences getGCMPreferences(Context context) /** * Check the device to make sure it has the Google Play Services APK. If * it doesn”t, display a dialog that allows users to download the APK from * the Google Play Store or enable it in the device”s system settings. */ private boolean checkPlayServices() else return false; } return true; } private Context getContext() private Activity getActivity() public static abstract class RegistrationCompletedHandler } }

PushNotificationService.java (Trình tạo thông báo)

public class PushNotificationService extends GcmListenerService private void sendNotification(String title, String body) }

AndroidManifest.xml

xml version=“1.0” encoding=“utf-8”?> android:name=“android.permission.INTERNET” /> android:name=“android.permission.WAKE_LOCK” /> android:name=“com.google.android.c2dm.permission.RECEIVE” /> android:name=“com.example.gcm.permission.C2D_MESSAGE” android:protectionLevel=“signature” /> android:name=“com.example.gcm.permission.C2D_MESSAGE” /> android:allowBackup=“true” android:icon=
mipmap/ic_launcher”
android:label=
string/app_name”
android:supportsRtl=“true” android:theme=
style/AppTheme”
> android:name=“.MainActivity” > android:name=“android.intent.action.MAIN” /> android:name=“android.intent.category.LAUNCHER” /> android:name=“.PushNotificationService” android:exported=“false”> android:name=“com.google.android.c2dm.intent.RECEIVE” /> android:name=“com.google.android.gms.gcm.GcmReceiver” android:exported=“true” android:permission=“com.google.android.c2dm.permission.SEND”> android:name=“com.google.android.c2dm.intent.RECEIVE” /> android:name=“package.gcmdemo” />

— Akshay Paliwal
nguồn
0

dùng cái này

function pnstest()else //header with content_type api key $headers = array( “Content-Type:application/json”, “Authorization:key=”.

Xem thêm: Bộ Nông Nghiệp Và Phát Triển Nông Thôn Tiếng Anh Là Gì, Tên Tiếng Anh Của Các Bộ, Cơ Quan Ngang

$server_key ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); $result = curl_exec($ch); if ($result === FALSE) curl_close($ch); return $result; }
— Rajkumar Kumaw
nguồn
0

Tôi biết đây là Câu trả lời muộn, nhưng nó khả năng hữu ích cho những ai muốn phát triển các ứng dụng tương tự với định dạng FCM hiện nay (GCM đã không được chấp nhận).
Mã PHP sau đây đã được dùng để gửi podcast theo chủ đề. Tất cả các ứng dụng đã đăng ký với kênh / topis được đề cập sẽ nhận được Thông báo đẩy này.

php tryelse curl_close($ch); return $result; } catch(Exception $e) ?>
— Jack
nguồn
Khi dùng trang web của công ty chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của công ty chúng tôi.

Chuyên mục: Hỏi Đáp

Các câu hỏi về Gcm Là Gì – Gcm Với Php (Google Cloud Messaging)


Nếu có bắt kỳ câu hỏi thắc mắt nào vê Gcm Là Gì – Gcm Với Php (Google Cloud Messaging) hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3 Bài viết Gcm Là Gì - Gcm Với Php (Google Cloud Messaging) ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết Gcm Là Gì - Gcm Với Php (Google Cloud Messaging) Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết Gcm Là Gì - Gcm Với Php (Google Cloud Messaging) rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!

Các Hình Ảnh Về Gcm Là Gì – Gcm Với Php (Google Cloud Messaging)

Gcm Là Gì - Gcm Với Php (Google Cloud Messaging)

Các từ khóa tìm kiếm cho bài viết #Gcm #Là #Gì #Gcm #Với #Php #Google #Cloud #Messaging

Tra cứu dữ liệu, về Gcm Là Gì – Gcm Với Php (Google Cloud Messaging) tại WikiPedia

Bạn hãy tham khảo thông tin về Gcm Là Gì – Gcm Với Php (Google Cloud Messaging) từ trang Wikipedia tiếng Việt.◄

Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: https://truonggiathien.com.vn/

💝 Xem Thêm Chủ Đề Liên Quan tại : https://truonggiathien.com.vn/hoi-dap/

Give a Comment