從 0 到 1,打造自己的遊戲後端服務
  • 簡介
  • 基礎服務
    • 架構介紹
    • Data 服務
    • API 服務
      • 在 Parse 服務架構簡易的 Cloud Code 部署機制
    • Notification 服務
      • Parse 推送服務設定與測試
    • Job 服務
      • 在 Parse 上透過 Cron 配置常用的 Scheduler
    • Email 服務
    • SMS 服務
    • Hosting 服務
    • Realtime 服務
      • Parse Live Query 設定
    • Information 服務
      • Parse Config 與 Firebase Remote Config 服務介紹
      • Connectivity 取得與監聽
      • Time 服務介紹與實作方法
      • IP 資料庫能獲得什麼資料
  • 遊戲服務
    • Achievement 成就系統
      • 設計簡易的成就系統 - 透過 Parse
    • Leaderboard 排行榜系統
      • 設計簡易的公開排行榜系統 - 透過 Parse
    • Pairing 配對系統
      • 設計簡易的 Dispatcherless 自動配對機制 - 透過 Firebase Realtime Database
    • Turn-based Multiplayer 回合制多人遊戲
      • 簡易的回合制多人遊戲系統 - 透過 Parse
    • Real-time Multiplayer 即時多人遊戲
      • 設計簡易的即時多人遊戲傳輸通道 - 透過 Firebase Realtime Database
  • 附錄 Self-Hosted Parse
    • Parse 服務架設
    • 建立 Parse 資料庫服務
    • 建立 Parse 服務
Powered by GitBook
On this page
  • Parse Server Push Adapter 設定
  • 將 token 存放至 Installation
  • 使用 Dashboard 進行推送
  1. 基礎服務
  2. Notification 服務

Parse 推送服務設定與測試

Parse Server Push Adapter 設定

若要透過 Parse 來推送兩個平台的通知,需分別取得推送所需要的資訊(前面有介紹),Android 須取得 Sender ID 以及伺服器金鑰,iOS 須取得 development.p12 以及 production.p12 兩個檔案,並上傳至伺服器中

var server = new ParseServer({
  // ...
  push: {
    android: {
      senderId: '',  // 取得的 FCM Sender ID 
      apiKey: ''     // 取得的 FCM 伺服器金鑰
    },
    ios: [
      {
        pfx: '/path/to/production.p12',  // 正式環境 p12 憑證檔案位置
        passphrase: '',                  // 憑證密碼(沒有的話可免去此欄位)
        bundleId: '',                    // Bundle ID
        production: true                 // 正式環境設定
      },
      {
        pfx: '/path/to/development.p12', // 開發環境 p12 憑證檔案位置 
        passphrase: '',                  // 憑證密碼(沒有的話可免去此欄位)
        bundleId: '',                    // Bundle ID
        production: false                // 開發環境設定
      }
    ]  
  }
});

另外 iOS 也支援 token-based authentication 推送

ios: {
  token: {
    key: '/path/to/AuthKey_XXXXX.p8',    // p8 憑證檔案位置
    keyId: '',                           // Key Id
    teamId: ''                           // Team ID
  },
  topic: 'com.domain.appname',           // Bundle Identifier
  production: false                      // 正式或開發環境設定
}

將 token 存放至 Installation

您必須將 Android 以及 iOS 取得的 token,儲存至 Parse 伺服器上的 Installation 資料表,之後才能透過平台來推送

  • 透過 Android SDK

// Application Class
public void onCreate() {
  // ...
  ParseInstallation.getCurrentInstallation().saveInBackground();
}
  • 透過 iOS SDK

(void)application:(UIApplication *)application
  didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  // ...
  PFInstallation *currentInstallation = [PFInstallation currentInstallation];
  [currentInstallation setDeviceTokenFromData:deviceToken];
  [currentInstallation saveInBackground];
}
  • 透過 Rest 手動新增 Installation

Android

iOS

GCMSenderId

Sender ID

X

deviceToken

token

token

appIdentifier

Bundle ID

Bundle ID

deviceType

android

ios

pushType

gcm

X

使用 Dashboard 進行推送

在 Parse Dashboard 中可進行手動的 Push Notification,並看到部分的推送數據

PreviousNotification 服務NextJob 服務

Last updated 7 years ago