Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Clicks Tracking

Add click tracking to the activity creation method.

Code Block
languagejava
themeFadeToGrey
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Click tracking
    if (getIntent().getExtras() != null) {
        Personaсlick.notificationClicked(getIntent().getExtras());
    }
}


How To Use

Example show notification with download icon:

Code Block
languagejava
themeFadeToGrey
new AsyncTask<String, Void, Bitmap>() {

	@Override
	protected Bitmap doInBackground(String... params) {
		try {
			InputStream in = new URL(params[0]).openStream();
			return BitmapFactory.decodeStream(in);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

	@Override
	protected void onPostExecute(Bitmap result) {
		super.onPostExecute(result);

		Intent intent = new Intent(getApplicationContext(), MainActivity.class);
		intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

		//REQUIRED! For tracking click notification
        intent.putExtra(PersonaClick.NOTIFICATION_TYPE, data.get("type"));
        intent.putExtra(PersonaClick.NOTIFICATION_ID, data.get("id"));

		PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT);

		NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getApplicationContext(), getString(R.string.notification_channel_id))
				.setSmallIcon(R.mipmap.ic_launcher)
				.setLargeIcon(result)
				.setStyle(new NotificationCompat.BigTextStyle().bigText(data.get("body")))
				.setContentTitle(data.get("title"))
				.setContentText(data.get("body"))
				.setAutoCancel(true)
				.setContentIntent(pendingIntent);

		NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
		if( notificationManager != null ) {
			notificationManager.notify(0, notificationBuilder.build());
		} else {
			Log.e(PersonaClick.TAG, "NotificationManager not allowed");
		}
	}
}.execute(data.get("icon"));


Token Send

Method Objective

The method allows manually sending an Android push notification token to the system.

Tip

The SDK sends a token to the system automatically. You can use this method if you need to send the token forcibly yourself.

Syntax and parameters

Code Block
languagejava
themeFadeToGrey
PersonaClick.setPushTokenNotification(android_token, callback);


NameTypeRequirementDescription
android_tokenstringrequired

Android push notification token

callbackfunctionoptionallyThe callback function to which the API response will be passed

Example of use

Code Block
languagejava
themeFadeToGrey
PersonaClick.setPushTokenNotification("93b033a394da31b3160b8e0a35b80b6c16eb99a22ed34e88afe2a117dd4bc601", new Api.OnApiCallbackListener() {
	@Override
	public void onSuccess(JSONObject msg) {
		// // API response processing functionality
	}
});


Payloads

The Payloads structures are available under Push Payloads (Mobile SDKs).


Column

Page Navigation

Table of Contents
maxLevel1
indent0px
stylenone




Related Pages

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
cqllabel in ( "notifications" , "apppush" )