|
14 | 14 |
|
15 | 15 | package com.google.apksize;
|
16 | 16 |
|
| 17 | +import android.app.Activity; |
17 | 18 | import android.content.Context;
|
18 |
| -import com.google.firebase.inappmessaging.FirebaseInAppMessagingClickListener; |
19 |
| -import com.google.firebase.inappmessaging.model.Action; |
20 |
| -import com.google.firebase.inappmessaging.model.CampaignMetadata; |
| 19 | +import com.google.android.gms.tasks.Task; |
| 20 | +import com.google.android.gms.tasks.TaskCompletionSource; |
| 21 | +import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplayCallbacks; |
| 22 | +import com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplay; |
21 | 23 | import com.google.firebase.inappmessaging.model.InAppMessage;
|
22 | 24 |
|
23 | 25 | public class InAppMessagingDisplay implements SampleCode {
|
| 26 | + private static final String SAMPLE_TEXT = "My sample text"; |
| 27 | + private static final String ACTION_URL = "https://www.example.com"; |
| 28 | + private static final String CAMPAIGN_ID = "my_campaign"; |
| 29 | + private static final String TITLE = "Title"; |
24 | 30 |
|
25 |
| - public class MyClickListener implements FirebaseInAppMessagingClickListener { |
| 31 | + public static class DisplayCallback implements FirebaseInAppMessagingDisplayCallbacks { |
26 | 32 | @Override
|
27 |
| - public void messageClicked(InAppMessage inAppMessage, Action action) { |
28 |
| - String url = action.getActionUrl(); |
29 |
| - CampaignMetadata metadata = inAppMessage.getCampaignMetadata(); |
| 33 | + public Task<Void> impressionDetected() { |
| 34 | + return new TaskCompletionSource<Void>().getTask(); |
| 35 | + } |
| 36 | + |
| 37 | + @Override |
| 38 | + public Task<Void> messageDismissed(InAppMessagingDismissType dismissType) { |
| 39 | + return new TaskCompletionSource<Void>().getTask(); |
| 40 | + } |
| 41 | + |
| 42 | + @Override |
| 43 | + public Task<Void> messageClicked() { |
| 44 | + return new TaskCompletionSource<Void>().getTask(); |
| 45 | + } |
| 46 | + |
| 47 | + @Override |
| 48 | + public Task<Void> displayErrorEncountered(InAppMessagingErrorReason InAppMessagingErrorReason) { |
| 49 | + return new TaskCompletionSource<Void>().getTask(); |
30 | 50 | }
|
31 | 51 | }
|
32 | 52 |
|
33 | 53 | @Override
|
34 | 54 | public void runSample(Context context) {
|
35 |
| - MyClickListener listener = new MyClickListener(); |
36 |
| - FirebaseInAppMessaging.getInstance().addClickListener(listener); |
| 55 | + InAppMessage message = |
| 56 | + InAppMessage.builder() |
| 57 | + .setBody(InAppMessage.Text.builder().setText(SAMPLE_TEXT).build()) |
| 58 | + .setAction(InAppMessage.Action.builder().setActionUrl(ACTION_URL).build()) |
| 59 | + .setCampaignId(CAMPAIGN_ID) |
| 60 | + .setTitle(InAppMessage.Text.builder().setText(TITLE).build()) |
| 61 | + .build(); |
| 62 | + |
| 63 | + // NOTE: Context is *not guaranteed* to be an Activity. This is **fine** in this case because we |
| 64 | + // only want to compile the APK to measure it size, and it will not be run. |
| 65 | + FirebaseInAppMessagingDisplay.getInstance() |
| 66 | + .testMessage((Activity) context, message, new DisplayCallback()); |
37 | 67 | }
|
38 | 68 | }
|
0 commit comments