Created
October 4, 2024 06:18
-
-
Save shakir915/b3bcedc0aa0e86c02d93f455c3b6466c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.ems.a7diets.Utils | |
import com.ems.a7diets.Application.AppApplication | |
import io.branch.indexing.BranchUniversalObject | |
import io.branch.referral.Branch | |
import io.branch.referral.util.BranchEvent | |
import io.branch.referral.util.ContentMetadata | |
import kotlin.random.Random | |
var branch_sessionID= Random(73584).nextInt().toString() +System.currentTimeMillis().toString() | |
fun Any.branchEventClick(click_name:String?=null){ | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("Click") | |
.setContentDescription("Click") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("page_path", this.javaClass.canonicalName) | |
.addCustomMetadata("page_name", this.javaClass.name.replace("Activity","",true) | |
.replace("Fragment","",true) | |
.replace("Adapter","",true) | |
) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Click").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventPageView(){ | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("Page View") | |
.setContentDescription("Page View") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("page_path", this.javaClass.canonicalName) | |
.addCustomMetadata("page_name", this.javaClass.name.replace("Activity","",true).replace("Fragment","",true)) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Page View").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventLogin(){ | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier("Login") | |
.setTitle("Login") | |
.setContentDescription("Login") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Login").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventPackageFav(package_name:String,package_id:String) { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier("Package") | |
.setTitle("Add To Favourite") | |
.setContentDescription("Add To Favourite") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("page_url", "Package") | |
.addCustomMetadata("page_path", "Package") | |
.addCustomMetadata("product_name", package_name) | |
.addCustomMetadata("package_name", package_name) | |
.addCustomMetadata("package_id", package_id) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Add To Favourite").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventPlanFav(plan_name:String?,planId:String?,proteinId:String?) { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier("Plan") | |
.setTitle("Add To Favourite") | |
.setContentDescription("Add To Favourite") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("page_url", "Plan") | |
.addCustomMetadata("page_path", "Plan") | |
.addCustomMetadata("product_name", plan_name) | |
.addCustomMetadata("plan_name", plan_name) | |
.addCustomMetadata("plan_id", planId) | |
.addCustomMetadata("protein_id", proteinId) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Add To Favourite").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventFirstSession() { | |
if (Preferences.isFirstSession) { | |
Preferences.isFirstSession=false | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier("Loading Page / First Signup page") | |
.setTitle("First Sessoin") | |
.setContentDescription("First Session") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata( | |
"timestamp", | |
System.currentTimeMillis().div(1000).toString() | |
) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Logout").addContentItems(buo) | |
.logEvent(AppApplication.instance) | |
} | |
} | |
fun Any.branchEventSignup() { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier("Signup") | |
.setTitle("Signup") | |
.setContentDescription("Signup") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Signup").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventLogout() { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier("Profile Page") | |
.setTitle("Logout") | |
.setContentDescription("Logout") | |
// .setContentImageUrl("https://lorempixel.com/400/400") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Logout").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
Branch.getInstance().logout() | |
Branch.getInstance().resetUserSession() | |
} | |
fun Any.branchEventProductViewItem(product_name:String?,product_id:String?,product_price:String?,product_category:String?,image:String?) { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("View Item") | |
.setContentDescription("View Item") | |
.setContentImageUrl(image?:"") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("page_name", this.javaClass.name.replace("Activity","",true) | |
.replace("Fragment","",true) | |
.replace("Adapter","",true) | |
) | |
.addCustomMetadata("page_url", this.javaClass.canonicalName) | |
.addCustomMetadata("page_path", this.javaClass.canonicalName) | |
.addCustomMetadata("product_name", product_name) | |
.addCustomMetadata("product_id", product_id) | |
.addCustomMetadata("product_price", product_price) | |
.addCustomMetadata("product_category", product_category) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Add To Favourite").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventAddAddress(city:String?,) { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("Address Added") | |
.setContentDescription("Address Added") | |
// .setContentImageUrl(image?:"") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("city", city) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Address Added").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
var lastPaymentPageData:Array<Pair<String,String>>?=null | |
fun Any.branchEventCheckoutInitiated(array:Array<Pair<String,String>>) { | |
lastPaymentPageData=array | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("Checkout Initiated") | |
.setContentDescription("Checkout Initiated") | |
// .setContentImageUrl(image?:"") | |
.setContentMetadata( | |
ContentMetadata() | |
.apply { | |
array.forEach { | |
addCustomMetadata(it.first, it.second) | |
} | |
} | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Checkout Initiated").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventPaymentInfo(response: String) { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("Add Payment Info") | |
.setContentDescription("Add Payment Info") | |
.setContentMetadata( | |
ContentMetadata() | |
.addCustomMetadata("payment_info", response) | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Add Payment Info").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
fun Any.branchEventPurchase() { | |
val buo = BranchUniversalObject() | |
.setCanonicalIdentifier(this.javaClass.canonicalName) | |
.setTitle("Purchase") | |
.setContentDescription("Purchase") | |
// .setContentImageUrl(image?:"") | |
.setContentMetadata( | |
ContentMetadata() | |
.apply { | |
lastPaymentPageData?.forEach { | |
addCustomMetadata(it.first, it.second) | |
} | |
} | |
.addCustomMetadata("user_id", Preferences.userId) | |
.addCustomMetadata("timestamp", System.currentTimeMillis().div(1000).toString()) | |
.addCustomMetadata("session_id", branch_sessionID.toString()) | |
) | |
BranchEvent("Purchase").addContentItems(buo) | |
.logEvent(AppApplication.instance,) | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment