I have refered the github sample app showing only the java code as reference and have implemented the sample in kotlin. I have shared my code fix the issue please. getting response as null only
override fun onCreate() {
super.onCreate()
MobileCore.setLogLevel(LoggingMode.VERBOSE)
MobileCore.initialize(this, LAUNCH_ENVIRONMENT_FILE_ID) {
print("Adobe mobile SDKs are successfully registered.")
}
Log.d("SDKTest", "successsSDK1")
Log.d("SDKTest", "Adobe mobile SDKs are successfully registered.")
val decisionScope = DecisionScope("Android_Test")
val data = mapOf(
"__adobe" to mapOf(
"target" to mapOf(
"a.profile_language" to "en-us",
"a.DeviceName" to "phone"
)
)
)
Optimize.updatePropositions(
listOf(decisionScope),
null,
data,
object : AdobeCallback<Map<DecisionScope, OptimizeProposition>> {
override fun call(propositionsMap: Map<DecisionScope, OptimizeProposition>?) {
val proposition = propositionsMap?.get(decisionScope)
val offers = proposition?.offers
Log.d("SDKTest","SuccessssSDK2")
if (!offers.isNullOrEmpty()) {
val offerContent = offers[0].content
val json = JSONObject(offerContent)
val message = json.optString("test", "No message")
Toast.makeText(applicationContext, message, Toast.LENGTH_LONG).show()
} else {
Log.d("TargetOffer", "No offers found for scope ${decisionScope.name} ${propositionsMap?.get(decisionScope)}")
}
if (!offers.isNullOrEmpty()) {
val offerContent = offers[0].content
val json = JSONObject(offerContent)
val message = json.optString("test", "No message"+json.toString())
Toast.makeText(applicationContext, message, Toast.LENGTH_LONG).show()
Log.d("TargetOffer",offerContent)
} else {
Log.d("TargetOffer", "No offers found for scope"+offers.toString())
}
}
}
)
}
}