Step 2: Integrate MediaMelon SDK Code to SampleApp
The application must register the MediaMelon SDK and provide app information once when the application launches. Please note that values provided in this integration step persist across app sessions.
you need to create Application class MyApplication.java
import android.app.Application;
import java.util.HashMap;
import com.mediamelon.appanalytics.MMIntegrationWrapper;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
....
MMIntegrationWrapper.getInstance(this).initialize("CUTOMER_ID" , "APP_NAME" , "APP_VERSION");
HashMap<String , Object> userInfoCustomData = new HashMap<String , Object>();
userInfoCustomData.put("KEY" , "VALUE");
MMIntegrationWrapper.reportSubscriberInfo("SUBSCRIBER_ID","SUBSCRIBER_TYPE","SUBSCRIBER_TAG","PROFILE_ID",userInfoCustomData);
...
}
@Override
public void onTerminate() {
super.onTerminate();
MMIntegrationWrapper.release(true);
}
}
Note:
you can rename MyApplication.java according to your application
Now you need to mention in your MyApplication.java AndroidManifest.xml
//Report Referral data
HashMap<String,Object> referralCustomData = new HashMap<String,Object>()
referralCustomData.put("REFERAl_KEY", "R_VALUE");
MMIntegrationWrapper.reportReferralInfo("REFERRAL_ID",referralCustomData);
// Report custom data
HashMap<String,Object> customData = new HashMap<String,Object>()
customData.put("KEY","VALUE")
MMIntegrationWrapper.reportCustomData("EVENT_NAME",customData)
Step 4 : User Actions
Screen View
HashMap<String,Object> screenData = new HashMap<String,Object>()
screenData.put("KEY","VALUE")
MMIntegrationWrapper.reportScreenView("EVENT_NAME",screenData)
Event
HashMap<String,Object> eventData = new HashMap<String,Object>()
eventData.put("KEY","VALUE")
MMIntegrationWrapper.reportEvent("EVENT_NAME",eventData)
App State
MMIntegrationWrapper.reportAppState("APP_STATE")
App Error
HashMap<String,Object> errorData = new HashMap<String,Object>()
errorData.put("KEY","VALUE")
MMIntegrationWrapper.reportAppError("APP_ERROR" , errorData)
Video State
HashMap<String,Object> videoData = new HashMap<String,Object>()
videoData.put("KEY","VALUE")
MMIntegrationWrapper.reportVideoState("VIDEO_STATE" , videoData)
Interruption
HashMap<String,Object> interruptionData = new HashMap<String,Object>()
interruptionData.put("KEY","VALUE")
MMIntegrationWrapper.reportInterruption("INTERRUTION_TYPE" , interruptionData)
Purchase
HashMap<String,Object> purchaseData = new HashMap<String,Object>()
purchaseData.put("KEY","VALUE")
MMIntegrationWrapper.reportPurchase("PURCHASE_TYPE" , purchaseData)
Subscription
HashMap<String,Object> subscriptionData = new HashMap<String,Object>()
subscriptionData.put("KEY","VALUE")
MMIntegrationWrapper.reportSubcription("SUBSCRIPTION_TYPE" , subscriptionData)
Step 4: Report Ended State to the SDK
MMIntegrationWrapper.release(true);
Variable
Description
CUSTOMER_ID
String containing your MediaMelon-assigned Customer ID.
SUBSCRIBER_ID
String containing your subscriber’s ID. If you do not use subscriber IDs, enter null
SUBSCRIBER_TYPE
String containing the subscriber type (e.g. “Free”, “Paid”). If you do not use subscriber types, enter null
SUBSCRIBER_TAG
String containing an additional subscriber-specific information. This is sent in clear (not hashed) to SmartSight and it is advised to not send sensitive information in this field.