Κοινή χρήση μέσω


Εφαρμογή παρακολούθησης αλληλεπίδρασης ειδοποίησης push

Για να μάθετε περισσότερα σχετικά με τη συνολική προσέγγιση στη ρύθμιση ειδοποιήσεων push στο Customer Insights - Journeys, επισκεφτείτε την επισκόπηση εγκατάστασης ειδοποιήσεων push.

Για να ενεργοποιήσετε τις ειδοποιήσεις push στο Customer Insights - Journeys, θα πρέπει να ολοκληρώσετε τα παρακάτω βήματα:

  1. Ρύθμιση εφαρμογής ειδοποιήσεων push
  2. Αντιστοίχιση χρήστη για ειδοποιήσεις push
  3. Καταχώρηση συσκευής για ειδοποιήσεις push
  4. Λήψη ειδοποιήσεων push σε συσκευές
  5. Αναφορά αλληλεπίδρασης για ειδοποιήσεις push

Για να γίνει αναφορά σε ανοιχτές χρεώσεις, η εφαρμογή πρέπει να στείλει αυτά τα δεδομένα πίσω στο 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 διαφορετικά

Ονομασία Description
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); 
            } 
        });