पुश सूचना सहभागिता ट्रैकिंग लागू करें
पुश सूचनाएँ सेट करने के समग्र दृष्टिकोण के बारे में Customer Insights - Journeys अधिक जानने के लिए, पुश सूचना सेटअप अवलोकन पर जाएँ.
Customer Insights - Journeysमें पुश नोटिफिकेशन सक्षम करने के लिए, आपको निम्नलिखित चरण पूरे करने होंगे:
- पुश सूचना अनुप्रयोग कॉन्फ़िगरेशन
- पुश सूचनाओं के लिए उपयोगकर्ता मैपिंग
- पुश नोटिफिकेशन के लिए डिवाइस पंजीकरण
- उपकरणों पर पुश सूचनाएं प्राप्त करना
- पुश सूचनाओं के लिए सहभागिता रिपोर्टिंग
ओपन दरों पर रिपोर्ट करने के लिए, एप्लिकेशन को यह डेटा वापस भेजना होगा। Customer Insights - Journeys
महत्त्वपूर्ण
प्राप्तकर्ताओं द्वारा सूचनाओं में खोले गए लिंक को ट्रैक करने के लिए, आपको ग्राहक ट्रैकिंग सहमति एकत्र करनी होगी. ग्राहक सहमति एकत्र करने की रणनीतियों के बारे में अधिक जानें Customer Insights - Journeys: सहमति प्रबंधन अवलोकन
ईवेंट भेजें Customer Insights - Journeys
अनुरोध यूआरएल:
POST {PublicEndpoint}api/v1.0/orgs/<orgId>/pushdatareceiver/events
{
"TrackingId": "00000000-0000-0000-0000-000000000000",
"DeviceToken": "%DeviceToken",
"PushNotificationStatus": 1
}
रिटर्न: यदि अनुरोध सही है तो 202, अन्यथा 400
नाम | विवरण |
---|---|
ट्रैकिंग आईडी | प्रत्येक अधिसूचना के डेटा में एक ट्रैकिंग पहचानकर्ता होता है। ईवेंट ट्रैकिंग के लिए यह पहचानकर्ता भेजना आवश्यक है। |
डिवाइसटोकन | ईवेंट को पंजीकृत करने वाले मोबाइल डिवाइस के लिए अद्वितीय टोकन. |
पुशनोटिफिकेशनस्टेटस | इवेंट के लिए स्थिति कोड. '1' ओपन इवेंट के लिए लौटाया गया. |
orgआईडी | संगठन का पहचानकर्ता. Customer Insights - Journeys |
इवेंट भेजने के लिए नमूना स्विफ्ट कोड 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()
}
इवेंट भेजने के लिए नमूना जावा कोड 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);
}
});