oem-android
Demo Application to show how integrate Dialog SDK in your client.
Work with Dialog SDK on the example of a oem-android:
Integrate SDK
❗ DialogSdk should be initialised in one example for app.
initialize Dialog SDK in Application
override fun onCreate() {
super.onCreate()
sdk = DialogSdk(
application = this,
appName = getString(R.string.app_name),
versionCode = BuildConfig.VERSION_CODE,
versionName = BuildConfig.VERSION_NAME,
fcmProjectId = getString(R.string.gcm_defaultSenderId).toLong(),
host = TEST_HOST,
port = TEST_PORT,
deepLinkActivity = BASE_ACTIVITY::class.java,
)
override methods in Activity
override fun onCreate(savedInstanceState: Bundle?) {
sdk.deepLinksResolver.onCreate(this, ::someAction) // someAction - optional
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
setIntent(intent)
sdk.deepLinksResolver.onNewIntent(intent, ::someAction)) // someAction - optional
}
override fun startActivity(intent: Intent?, options: Bundle?) {
sdk.deepLinksResolver.onActivityStarted(
intent,
options,
::selectDialogsTab
) {
super.startActivity(intent, options)
}
}
override fun onDestroy() {
super.onDestroy()
sdk.deepLinksResolver.onDestroy()
}
override fun onBackPressed() {
val currentFragment = // значение в котором хранится текущий корневой фрагмент
if (currentFragment || !sdk.onBackPressed(currentFragment)) super.onBackPressed()
}
dialogOem
ee.dlg.im
Integrate Push
generate google-services.json set with your project
create appropriate config on the server-side.
create class PushService and call sdk: DialogSdk by Singleton/Application/DI/etc.
class PushService : FirebaseMessagingService() {
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
sdk.pushConsumer.onMessageReceived(message, this)
}
override fun onNewToken(token: String) {
super.onNewToken(token)
sdk.pushConsumer.onNewToken(token, this)
}
override fun onDestroy() {
super.onDestroy()
sdk.pushConsumer.onDestroy(this)
}
}
android:name="PACKAGE_NAME.PushService"
android:exported="false">
Steps to integrate Dialog SDK in your project
Gradle
Add in plugins apply plugin: 'com.google.gms.google-services' in build.gradle(whole project)
Add in implementation implementation "com.google.firebase:firebase-messaging:20.2.4" in build.gradle(whole project)
Add in implementation implementation("im.dlg:sdk:0+") { transitive = true }
Add in dependencies
buildscript {
//
dependencies {
classpath 'com.google.gms:google-services:4.3.3'
}
}
Add in repositories list
repositories {
...
maven {
url "https://external-nexus.dlg.im/nexus/repository/mvn-android/"
}
}