IBM Application Center Client 可以在應用程式更新時進行推播服務,告訴使用者已經有新版的應用程式上架,引導使用者進行下載新版的工作。
要完成這樣的功能,必須針對產品進行些許的設定,進一步說明如下:
1. Server 的設定
IBM Application Center 可以安裝在 WebSphere Application Server、WebSphere Liberty Profile 以及 Tomcat 上。
本文以 WebSphere Liberty 為例,需要在 server.xml 裡進行下列 JNDI 的設定:
Android:
<jndiEntry jndiName="ibm.appcenter.push.schedule.period.unit" value="hours" /> <jndiEntry jndiName="ibm.appcenter.push.schedule.period.amount value="2" /> <jndiEntry jndiName="ibm.appcenter.gcm.signature.googleapikey" value="AAAAX_7jiec:........" />其中 「ibm.appcenter.push.schedule.period.unit」的值建議使用 「hours」,避免伺服器過於頻繁檢查是否要進行推播,影響效能。(在測試的時候可以設定 seconds 以增進測試的效率)「ibm.appcenter.gcm.signature.googleapikey」可以使用 Firebase Cloud Message 上的 Server Key 來進行設定作業。
iOS 設定:
<jndiEntry jndiName="ibm.appcenter.apns.p12.certificate.location"
value='"D:/IBM/WebSphere/Liberty/usr/servers/MFPSrv2/PushNotification.p12"'/>
<jndiEntry jndiName="ibm.appcenter.apns.p12.certificate.password"
value='"yourpassword"'/>
<jndiEntry jndiName="ibm.appcenter.apns.p12.certificate.isDevelopmentCertificate"
value='"false"'/>
PushNotification.p12 憑證可以從 Apple Developer Account 針對包版的憑證進行 Push Notification 相關設定,設定完成後可以產生一個 .cer 檔案。將該 .cer 檔案匯入 MAC 上的「鑰匙圈存取」,再將其匯出成 p12 檔案,並設定密碼。2. IBM App Center Client
修改 CordovaAppCenterClient 內的 config.json 檔案內的「gcmProjectId」值。
請建立一個 Firebase 專案,並且在專案設定頁面中進入 Cloud Messaging 的設定畫面,將「寄件者 id」抄出,並修改 gcmProjectId 值。
3. 進行測試
接著我們可以上傳一個新的 ipa 或 apk 檔案,在上傳的時候記得將 Recommended 的 checkbox 打勾。接著,在一定時間內應該可以收到應用程式上版的推播通知。
4. 問題排解
以上動作最好是在 App Center 上線前就完成,如果有人已經下載了 App 因相關推播內容設定值是錯誤的,例如:gcmProjectId 的值,那麼這時候可能就需要重置一下 App Center 的資料了。
參考資料:
[1] https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/appcenter/push-notifications/
[2] https://www.ibm.com/support/knowledgecenter/en/SSHS8R_8.0.0/com.ibm.worklight.appcenter.doc/appcenter/t_ac_gcm_connect.html
沒有留言:
張貼留言