推播通知

注意

Adobe建議針對需要單頁應用程式架構用戶端轉譯(例如React)的專案使用SPA編輯器。 了解更多.

若能立即以重要通知提醒您的AEM Mobile應用程式使用者,對行動應用程式及其行銷活動的價值至關重要。 在此,我們將說明需要採取哪些步驟來讓您的應用程式接收推播通知,以及如何設定並將來自AEM Mobile的推播傳送至手機上安裝的應用程式。 此外,本節說明如何將深層連結功能設定為推播通知。

注意

推播通知無法保證傳送;它們更像公告。我們會盡力確保每個人都能收到,但並非保證的傳送機制。 此外,傳送推播的時間可能會從少於一秒到多達半小時不等。

搭配AEM使用推播通知需要幾項不同技術。 首先,必須使用推播通知服務提供者來管理通知和裝置(AEM尚未這麼做)。 兩個提供者皆已透過AEM立即設定:Amazon簡單通知服務(或SNS)和Pushwoosh。 其次,針對特定行動作業系統的推播技術必須經過適當的服務,即適用於iOS裝置的Apple推播通知服務(或APNS);和Android裝置專用的Google雲端通訊(或GCM)。 雖然AEM不會直接與這些平台特定服務通訊,但AEM必須提供一些相關設定資訊及通知,這些服務才能執行推播。

安裝並設定後(如下所述),其運作方式如下:

  1. 推播通知會在AEM中建立,並傳送至服務提供者(Amazon SNS或Pushwoosh)。
  2. 服務提供者會收到資料,並傳送至核心提供者(APNS或GCM)。
  3. 核心提供者會將通知推送至為該推送註冊的所有裝置。 對於每個設備,它使用蜂窩資料網路或WiFi(以當前設備上可用的為準)。
  4. 如果其註冊的應用程式未執行,通知會顯示在裝置上。 點選通知的使用者將啟動應用程式,並在應用程式內顯示通知。 如果應用程式已執行,則只會顯示應用程式內通知。

此版AEM支援iOS和Android行動裝置。

概述和過程

若要在AEM Mobile應用程式中使用推播通知,必須執行下列高階步驟。

通常,AEM開發人員會:

  1. 向Apple和Google報文傳送服務註冊
  2. 向推送訊息服務註冊並進行配置
  3. 新增推送支援至應用程式
  4. 準備電話進行測試

而AEM管理員會:

  1. 在AEM應用程式上設定推送
  2. 建置和部署應用程式
  3. 傳送推播通知
  4. 設定深層連結​(選用)

步驟1:向Apple和Google報文傳送服務註冊

使用Apple推播通知服務(APNS)

前往Apple頁面這裡以熟悉Apple推播通知服務。

若要使用APNS,您需要Apple的​憑證​檔案(.cer檔案)、推播​私密金鑰(.p12檔案)和​私密金鑰密碼。 有關如何做到的說明,請參見此處

使用Google雲端通訊(GCM)服務

注意

Google正以類似的服務Firebase Cloud Messaging(FCM)取代GCM。 如需FCM的詳細資訊,請按一下這裡

前往Google頁面這裡以熟悉Android適用的Google雲端訊息。

您需要依照以下步驟操作: 此處至​建立Google API專案啟用GCM服務​及​取得API金鑰。 您需要​API金鑰,才能傳送推播通知至Android裝置。 此外,請記錄您的​專案編號,有時也稱為​GCM寄件者Id

下列步驟顯示建立GCM API金鑰的不同方法:

  1. 登入google並前往Google的開發人員頁面
  2. 從清單中選擇您的應用程式(或建立新的應用程式)。
  3. 在Android封裝名稱下,輸入您的應用程式id,即com.adobe.cq.mobile.weretail.outdoorsapp。 (如果無法運作,請使用「test.test」再試一次。)
  4. 按一下​繼續選擇並配置服務
  5. 選擇「雲端傳訊」,然後按一下「啟用Google雲端傳訊」。
  6. 接著會顯示新的伺服器API金鑰和(新的或現有的)傳送者ID。
注意

記錄伺服器API金鑰。 此值是在您的推送提供者網站上輸入。

步驟2:註冊並配置推送訊息服務

AEM設定為使用下列三種服務其中之一來傳送推播通知:

  • Amazon SNS
  • Pushwoosh
  • AdobeMobile Services

Amazon SNS和 ** Pushwoodconfigurations可讓您從AEM螢幕內推送。

AdobeMobile Services設定可讓您使用Adobe Analytics帳戶,在AdobeMobile Services內設定及傳送推播通知(但必須使用此設定來建置應用程式,才能啟用AMS推播通知)。

使用Amazon SNS報文傳送服務

注意

有關Amazon SNS的資訊以及建立新AWS帳戶的連結,可在此處 找到。您可以獲得一年的免費帳戶。

如果您不想使用Amazon SNS,可以跳過這些步驟。

請按照以下步驟設定Amazon SNS以獲取推播通知:

  1. 向Amazon SNS註冊

    1. 記錄您的帳戶ID。 格式應為12位數,不含空格或破折號,即"123456789012"。
    2. 請確定您位於「美國東部」或「歐盟」地區,因為稍後的步驟(身份池建立)需要其中一個步驟。
    3. 註冊後,登錄到管理控制台並選擇 SNS(推播通知服務)。 如果出現「Get Started(開始)」,請按一下。
  2. 建立存取金鑰和ID

    1. 按一下螢幕右上方的登錄名,然後從菜單中選擇「安全憑據」。
    2. 按一下訪問密鑰,然後在下面的空格中,按一下「建立新訪問密鑰」
    3. 按一下​顯示訪問密鑰,然後複製並保存顯示的訪問密鑰ID和秘密訪問密鑰。 如果您選擇下載索引鍵的選項,您會收到包含這些相同值的csv檔案。
    4. 可在此頁面上管理其他安全相關憑證及其他憑證。
    注意

    存取金鑰可用於多個應用程式。

    對於使用「AWS沙箱」帳戶的組織,步驟非常相似,並概述如下:

    1. 按一下螢幕右上方的登錄名,然後從菜單中選擇「我的安全憑據」。
    2. 按一下動作左側清單中的使用者,然後選擇您的使用者名稱。
    3. 按一下「安全憑據」頁簽。
    4. 從這裡,您會看到您的金鑰並建立新金鑰。 儲存金鑰以供稍後使用。
  3. 建立主題

    1. 按一下​建立主題​並選擇主題名稱。 記錄所有欄位,如「主題ARN」、「主題所有者」、「地區」、「顯示名稱」。
    2. 按一下「其他主題操作 > 編輯主題策略」。 在​允許這些用戶訂閱此主題​下,選擇​Everyone.
    3. 按一下「更新策略」。
    注意

    您可以針對不同案例建立多個主題,例如開發、測試、示範等。 其餘的SNS配置可以保持不變。 使用不同主題建立應用程式;傳送至該主題的推播通知只會由使用該主題建立的應用程式接收。

  4. 建立平台應用程式

    1. 按一下「應用程式」,然後按一下「建立平台應用程式」。 選擇名稱並選取平台(iOS適用的APNS、Android適用的GCM)。 根據平台,其他欄位需要填入:

      1. 若為APNS,必須輸入P12檔案、密碼、憑證和私密金鑰。 這些內容應已在上述步驟​使用Apple推播通知服務(APNS)​中取得。
      2. 若為GCM,必須輸入API金鑰。 您應在上述步驟​使用Google雲端通訊(GCM)服務​中取得此資訊。
    2. 對您要支援的每個平台重複上述步驟一次。 若要同時推送至iOS和Android,必須建立兩個平台應用程式。

  5. 建立身份池

    1. 使用Cognito建立身份池,該池將儲存未驗證用戶的基本資料。 請注意,目前只有「美國東部」和「歐盟」地區受Amazon Cognito支援。
    2. 請為其命名,並勾選「啟用未驗證身分的存取」方塊。
    3. 在下一頁("您的Cognito身份需要訪問您的資源")按一下「允許」。
    4. 在頁面的右上方,按一下連結「Edit identity pool"」。 將顯示標識池Id。 保存此文本以備以後使用。
    5. 在同一頁上,選擇「未驗證角色」旁邊的下拉清單,並確保其已選中角色Cognito_<pool name>UnauthRole。 儲存您的變更。
  6. 設定存取權限

    1. 登錄Identity and Access Management(IAM)
    2. 選擇角色
    3. 按一下在上一步中建立的角色,名為Cognito_<yourIdentityPoolName>Unauth_Role。 記錄顯示的「角色ARN」。
    4. 如果尚未開啟「內嵌原則」,請開啟它。 您應該會在那裡看到一個名稱類似oneClick_Cognito_<yourIdentityPoolName>Unauth_Role_1234567890123的策略。
    5. 按一下「編輯策略」。 用此JSON片段替換策略文檔的內容:

    {

    "版本":"2012-10-17",

    "陳述式": [

    {

    "動作": [

    "mobileanalytics:PutEvents",

    "cognito-sync:*",

    "SNS:CreatePlatformEndpoint",

    "SNS:訂閱"

    ],

    「效果」:"允許",

    "資源": [

    "*"

    _

    }

    _

    }

    1. 按一下​應用策略

使用Pushwoosh消息服務

如果您不想使用Pushwoosh,可跳過此步驟。

使用Pushwoosh:

  1. 用Pushwoosh註冊

    1. 前往pushwoosh.com並建立新帳戶。
  2. 建立API存取權杖

    1. 在Pushwoosh網站上,前往API存取功能表項目以產生API存取權杖。 您需要安全地記錄此內容。
  3. 建立新的應用程式

    1. 若要取得Android支援,您需要提供GCM API金鑰。
    2. 設定應用程式時,請選擇Cordova作為架構。
    3. 若要取得iOS支援,您必須提供憑證檔案(.cer)、推送憑證(.p12)和私密金鑰密碼;這些資料應從蘋果的APNS網站取得。 對於「框架」,請選擇「Cordova」。
    4. Pushwoosh會以「XXXXX-XXXXX」的形式產生該應用程式的應用程式ID,其中每個X都是十六進位值(0到F)。
注意

如果在AEM中設定第二個應用程式時使用相同的應用程式ID(和其他相關值):API存取Token和GCM Id),透過AEM上第二個應用程式傳送的任何推播通知,都會隨該應用程式ID前往任何其他應用程式。

步驟3:將推送支援新增至應用程式

添加ContentSync配置

建立兩個名為notificationsConfig的內容節點(一個在app-config中,一個在app-config-dev中):

  • /content/<your app>/shell/jcr:content/pge-app/app-config-dev/notificationsConfig
  • /content/<your app>/shell/jcr:content/pge-app/app-config/notificationsConfig

使用下列屬性(.content.xml檔案):
<jcr:root xmlns:jcr=" https://www.jcp.org/jcr/1.0" xmlns:nt=" https://www.jcp.org/jcr/nt/1.0">
jcr:primaryType="nt:unstructured"
excludeProperties="[appAPIAccessToken]"
路徑="…/…/…/…"
targetRootDirectory="www"
type="notificationsconfig"/>

注意

內容同步處理常式會尋找這些節點,如果節點不在,則不會寫出pge-notifications-config.json檔案。

添加客戶端庫

必須依照下列步驟,將推播通知用戶端程式庫新增至應用程式:

CRXDE Lite:

  1. 導覽至​/etc/designs/phonegap/<app name>/clientlibsall.
  2. 連按兩下屬性窗格中的內嵌區段。
  3. 在顯示的對話方塊中,按一下+按鈕以新增用戶端資料庫。
  4. 在新文字欄位中新增「cq.mobile.push」,然後按一下「確定」。
  5. 新增另一個名為cq.mobile.push.amazon的,然後按一下「確定」。
  6. 儲存變更。
注意

如果推播通知遭移除或未使用,基於應用程式上的空間考量,以及為了避免主控台錯誤訊息,請從應用程式中移除這些clientlib。

步驟4:準備電話以測試

注意

若是推播通知,您必須在實際裝置上進行測試,因為模擬器無法接收推播通知。

IOS

若是iOS,您需要使用Mac OS電腦,且需要加入iOS開發人員程式。 有些公司擁有公司許可證,可供所有開發人員使用。

若使用XCode 8.1,在使用推播通知之前,您必須前往專案中的功能標籤,並將推播通知切換為開啟。

Android

若要使用CLI在Android手機上安裝應用程式(請參閱下列內容:步驟6 — 建立並部署應用程式),您必須先將手機置於「開發人員模式」。 有關執行此操作的詳細資訊,請參閱啟用設備上的開發人員選項

步驟5:在AEM應用程式上設定推送

在建立並部署至您已設定的行動裝置之前,您必須針對您決定使用的訊息服務配置通知設定。

  1. 為推播通知建立適當的授權群組。
  2. 以適當使用者身分登入AEM,按一下「應用程式」標籤。
  3. 按一下應用程式。
  4. 找到「管理Cloud Services」圖磚,然後按一下鉛筆,以修改您的雲端設定。
  5. 選擇「Amazon SNS連接」、「Pushwoosh連接」或「AdobeMobile Services」作為通知配置。
  6. 輸入提供程式屬性,然後按一下提交以保存它們,然後按一下完成。 在此階段,除了AMS外,這些證書未進行遠程驗證。
  7. 您現在應該會看到您剛在「管理Cloud Services」方塊上輸入的設定。

步驟6:建立並部署應用程式

注意: 另請參閱這裡有關建 🔗 置PhoneGap應用程式的指示。

使用PhoneGap建立和部署您的應用程式有兩種方式。

注意: 針對推播通知測試,模擬器將不足,因為推播通知會在推播提供者(Apple或Google)和裝置之間使用不同的通訊協定。當前的Mac/PC硬體和模擬器不支援此功能。

  1. PhoneGap Buildis 由PhoneGap提供的服務,將在其伺服器上為您建立應用程式,並允許您直接將其下載至裝置。請參閱PhoneGap Build檔案,了解如何設定和使用PhoneGap Build。

  2. PhoneGap命令列介面 (CLI)可讓您在命令列上使用一組豐富的PhoneGap命令,來建置、除錯和部署應用程式。請參閱PhoneGap開發人員檔案,了解如何設定和使用PhoneGap CLI。

步驟7:傳送推播通知

若要建立新通知並加以傳送,請依照下列步驟進行。

  1. 建立新通知

    • 在AEM Mobile應用程式的控制面板中,尋找「推播通知」方塊。
    • 在右上角的功能表中,選擇「建立」。 請注意,此按鈕要等到雲端設定首次設定後才可用。
    • 在建立通知精靈中,輸入標題和訊息,然後按一下「建立」按鈕。 您的通知現在已準備好立即或稍後傳送。 可編輯訊息和/或標題,且可變更及儲存。
  2. 傳送通知

    • 在「應用程式」控制面板中,找到「推播通知」方塊。
    • 選取通知,或按一下右下角的詳細資訊按鈕(…),以顯示通知清單。 此清單也會指出通知是否已準備好傳送、已傳送,或傳送期間是否發生錯誤。
    • 選取一個通知的核取方塊(僅限),然後按一下清單上方的「傳送通知」按鈕。 您將有一次機會在顯示的對話方塊上「取消」或「傳送」通知。
  3. 處理結果

    • 如果推播通知服務(Amazon SNS或Pushwoosh)收到傳送要求,確認其有效,並成功將其傳送至原生提供者(APNS和GCM),則「傳送」對話方塊將會關閉,且不會顯示訊息。 在通知清單中,該通知的狀態將列為已傳送。

    • 如果推送傳送失敗,對話方塊將顯示指出問題的訊息。 在通知清單中,該通知的狀態將列為「錯誤」,但如果問題得到糾正,則可以再次發送通知。 發生錯誤時,伺服器錯誤記錄中應會顯示其他錯誤資訊。

    • 請注意,iOS和Android推播通知之間有一些平台差異。 其中:

      • 使用CLI建立應用程式會在部署於Android後啟動。 在iOS上,您必須手動啟動。 由於推播註冊步驟會在啟動時進行,因此Android應用程式可以立即收到推播通知(因為它會啟動並註冊),而iOS應用程式則不會。
      • 在Android上,「確定」按鈕文字為全大寫(以及應用程式內通知上新增的任何其他按鈕),而在iOS中則非全大寫。

若為AMS推播通知,必須從AMS伺服器撰寫及傳送通知。 AMS提供的推播通知功能,超過了AEM通知與AWS和Pushwoosh提供的功能。

注意

推播通知無法保證傳送;它們更像公告。請盡最大努力確保每個人都聽到,但並非保證的傳送機制。 此外,傳送推播的時間可能會從少於一秒到多達半小時不等。

使用推播通知設定深層連結

什麼是深層連結? 在推播通知的內容中,這是可讓應用程式開啟或導向(如果開啟)至應用程式內指定位置的方法。

如何運作? 推播通知的作者可選擇新增按鈕標籤(即「給我看看!」) 至通知,並透過視覺路徑瀏覽器選擇要在通知中連結的頁面。 傳送後,推播會正常發生,除了應用程式內訊息中的「確定」按鈕會取代為「關閉」按鈕,並指定新按鈕(「顯示我!」) 的上界。 按一下新按鈕後,應用程式會前往應用程式內的指定頁面。 按一下「關閉」會關閉訊息。

如果應用程式未開啟,陰影會正常顯示。 在陰影中對通知採取動作,會開啟應用程式,然後根據推播通知中已設定的項目,向使用者呈現深層連結按鈕。

建立通知、新增按鈕文字和連結路徑供選用的深層連結使用:

注意

.若要存取控制面板中的「推播通知」方塊,請遵循下列步驟。

  1. 按一下​管理Cloud Services​方塊右上角的編輯。

    chlimage_1-108

  2. 選擇​Pushwoosh連接。 按一下​下一步

    chlimage_1-109

  3. 輸入屬性的詳細資訊,然後按一下​Submit

    chlimage_1-110

    提交設定後,控制面板中會顯示​推播通知​方塊。

    chlimage_1-111

建立通知精靈

在控制面板中顯示​推播通知​方塊後,請使用建立通知精靈來新增內容:

  1. 按一下​推播通知​方塊右上角的新增符號,以開啟​建立通知精靈

    chlimage_1-112

  2. 按一下連結路徑中的瀏覽圖示,會向使用者呈現應用程式的內容結構。

    選取路徑後,按一下核取圖示。

    chlimage_1-113

    注意

    「連結按鈕文字」限制為20個字元。

    如果使用者沒有最新版本的應用程式,且連結的路徑無法使用,則確認深層連結的動作會將使用者帶往應用程式的主要頁面。

  3. 在​建立通知嚮導​中輸入​文本詳細資訊,然後按一下​建立

    chlimage_1-114

    按一下您從​推播通知​方塊建立的推播通知,以開啟詳細資料。

    您可以編輯屬性、傳送通知或刪除通知。

    chlimage_1-114

注意

其他資訊:

6.4版後將不支援Pushwoosh和Amazon SNS,並且將作為包共用的附加元件提供。

後續步驟

了解應用程式推播通知的詳細資訊後,請參閱AEM Mobile內容個人化

本頁內容