แชร์ผ่าน


ใช้การติดตามการโต้ตอบการแจ้งเตือนแบบพุช

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการโดยรวมในการตั้งค่าการแจ้งเตือนแบบพุชใน Customer Insights - Journeys โปรดไปที่ ภาพรวมการตั้งค่าการแจ้งเตือนแบบพุช

หากต้องการเปิดใช้งานการแจ้งเตือนแบบพุชใน Customer Insights - Journeys คุณต้องทำตามขั้นตอนต่อไปนี้:

  1. การกำหนดค่าแอปพลิเคชันการแจ้งเตือนแบบพุช
  2. การแมปผู้ใช้สำหรับการแจ้งเตือนแบบพุช
  3. การลงทะเบียนอุปกรณ์สำหรับการแจ้งเตือนแบบพุช
  4. การรับการแจ้งเตือนแบบพุชบนอุปกรณ์เคลื่อนที่
  5. การรายงานการโต้ตอบสำหรับการแจ้งเตือนแบบพุช

เพื่อรายงานอัตราการเปิด แอปพลิเคชันจำเป็นต้องส่งข้อมูลนี้กลับไปยัง Customer Insights - Journeys

สำคัญ

เมื่อต้องการติดตามลิงก์ที่ผู้รับเปิดในการแจ้งเตือน คุณต้องรวบรวมความยินยอมในการติดตามลูกค้า เรียนรู้เพิ่มเติมเกี่ยวกับกลยุทธ์ในการรวบรวมความยินยอมของลูกค้าใน Customer Insights - Journeys: ภาพรวมการจัดการความยินยอม

ส่งเหตุการณ์ไปที่ Customer Insights - Journeys

URL คำขอ:

POST {PublicEndpoint}api/v1.0/orgs/<orgId>/pushdatareceiver/events
{ 

    "TrackingId": "00000000-0000-0000-0000-000000000000", 
    "DeviceToken": "%DeviceToken", 
    "PushNotificationStatus":  1

} 

ส่งคืน: 202 หากคำขอถูกต้อง 400 หากไม่ถูกต้อง

ชื่อ คำอธิบาย
TrackingId การแจ้งเตือนทุกครั้งจะมีตัวระบุการติดตามอยู่ในข้อมูล ต้องส่งตัวระบุนี้เพื่อติดตามกิจกรรม
DeviceToken โทเค็นเฉพาะสำหรับอุปกรณ์เคลื่อนที่ที่ลงทะเบียนกิจกรรม
PushNotificationStatus รหัสสถานะของกิจกรรม '1' ส่งคืนสำหรับกิจกรรมที่เปิดอยู่
orgId ตัวระบุขององค์กร Customer Insights - Journeys

ตัวอย่างโค้ด Swift ที่จะส่งเหตุการณ์ใน iOS

func createInteraction(typeInteraction: Int, trackingId: String) {
    if !trackingId.isEmpty || trackingId == "00000000-0000-0000-0000-000000000000" {
        return
    }
    let orgId = UserDefaults.standard.string(forKey: "organizationId2")
    let endP = UserDefaults.standard.string(forKey: "endpoint2")
    if orgId == nil || endP == nil {
        return
    }
    let url = URL(
        string: String(
            format: "https://%@/api/v1.0/orgs/%@/pushdatareceiver/events", endP ?? "", orgId ?? ""))!
    let session = URLSession.shared
    // now create the URLRequest object using the url object
    var request = URLRequest(url: url)
    request.httpMethod = "POST"  //set http method as POST
    // add headers for the request
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")  // change as per server requirements
    request.addValue("application/json", forHTTPHeaderField: "Accept")
    do {
        // convert parameters to Data and assign dictionary to httpBody of request
        let deviceToken = UserDefaults.standard.string(forKey: "deviceToken")
        let jsonBodyDict = [
            "PushNotificationStatus": String(typeInteraction), "DeviceToken": deviceToken,
            "TrackingId": trackingId,
        ]
        request.httpBody = try JSONSerialization.data(
            withJSONObject: jsonBodyDict, options: .prettyPrinted)
    } catch let error {
        print(error.localizedDescription)
        return
    }
    // create dataTask using the session object to send data to the server
    let task = session.dataTask(with: request) { data, response, error in
        if let error = error {
            print("Post Request Error: \(error.localizedDescription)")
            return
        }
        // ensure there is valid response code returned from this HTTP response
        guard let ttpResponse = response as? HTTPURLResponse,
            (200...299).contains(httpResponse.statusCode)
        else {
            print("Invalid Response received from the server")
            return
        }
        print("Interaction creation successful.")
    }
    // perform the task
    task.resume()
}


ตัวอย่างโค้ด Java ที่จะส่งเหตุการณ์ใน Android

ส่วนที่ 1: สร้างส่วนข้อมูล

EventTrackingContract: 
public String toJsonString() { 
        JSONObject jsonObject = new JSONObject(); 
        try { 
            jsonObject.put("PushNotificationStatus", mEvent.toString()); 
            jsonObject.put("DeviceToken", mDeviceToken); 

            jsonObject.put("TrackingId", trackingId); 
        } catch (JSONException e) { 
            Log.d(LOG_TAG, "Json exception while creating event tracking contract: " + e.getMessage()); 
        } 
        return jsonObject.toString(); 
    } 
 
EventTypeEnum: 
public enum EventType {
    Opened(1); 
}

ส่วนที่ 2: HttpClient สําหรับการส่งเหตุการณ์ไปยังเซิร์ฟเวอร์

AsyncTask.execute(new Runnable() { 
            @Override 
            public void run() { 
                SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); 
                String hostname = sharedPreferences.getString(HOST_NAME, ""); 
                String organizationId = sharedPreferences.getString(ORGANIZATION_ID, ""); 
                final HashMap<String, String> headers = new HashMap<>(); 
                headers.put("Content-Type", "application/json"); 
                final EventTrackingContract eventTrackingContract = new EventTrackingContract(event); 
                Log.d(TAG, eventTrackingContract.toJsonString()); 
                String response = HttpClientWrapper.request(String.format("https://%s/api/v1.0/orgs/%s/pushdatareceiver/events" 

, hostname, organizationId, trackingId), 
                        "POST", headers, eventTrackingContract.toJsonString()); 
                Log.d(TAG, response); 
            } 
        });