Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AndroidManifest.xml

Code Block
languagekotlinxml
    <application
   
    android:name=".MainApplication"

MainApplication.ktKotlin

Code Block
languagekotlin
class MainApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        // RelatedDigital SDK nın init edilmesi
        RelatedDigital.init(
                context = applicationContextcontext,
                organizationId = "organizationIdDeğeri",
                profileId = "profileIdDeğeri",
                dataSource = "dataSourceDeğeri")

        // In-App Notification Modülünün etkinleştirilmesi
        RelatedDigital.setIsInAppNotificationEnabled(
            context = applicationContextcontext,
            isInAppNotificationEnabled = true
        )

        // Push Notification Modülünün Etkinleştirilmesi
        if(GoogleUtils.checkPlayService(this)) {
            getFirebaseToken()
        } else {
            getHuaweiToken()
        }

        // Geofence Modülünün Etkinleştirilmesi
        RelatedDigital.setIsGeofenceEnabled(
            context = applicationContextcontext,
            isGeofenceEnabled = true
        )
    }

    private fun getFirebaseToken(){
        FirebaseMessaging.getInstance().token
            .addOnCompleteListener(OnCompleteListener { task ->
                if (!task.isSuccessful) {
                    Log.e("Firebase Token : ", "Getting the token failed!!!")
                    return@OnCompleteListener
                }
                val token = task.result

                // Push Notification Modülünün Etkinleştirilmesi
                RelatedDigital.setIsPushNotificationEnabled(
                    context = applicationContextcontext,
                    isPushNotificationEnabled = true,
                    googleAppAlias = "googleAppAliasDeğeri",
                    huaweiAppAlias = "huaweiAppAliasDeğeri",
                    token = token
                )
            })
    }

    private fun getHuaweiToken() {
        object : Thread() {
            override fun run() {
                try {
                    val appId = AGConnectOptionsBuilder().build(applicationContext)
                        .getString("client/app_id")
                    val token = HmsInstanceId.getInstance(applicationContext).getToken(appId, "HCM")
                    if (TextUtils.isEmpty(token) || token == null) {
                        Log.e("Huawei Token : ", "Empty token!!!")
                        return
                    }
                    Log.i("Huawei Token", "" + token)

                    // Push Notification Modülünün Etkinleştirilmesi
                    RelatedDigital.setIsPushNotificationEnabled(
                        context = applicationContextcontext,
                        isPushNotificationEnabled = true,
                        googleAppAlias = "googleAppAliasDeğeri",
                        huaweiAppAlias = "huaweiAppAliasDeğeri",
                        token = token
                    )
                } catch (e: ApiException) {
                    Log.e("Huawei Token", "Getting the token failed! $e")
                }
            }
        }.start()
    }
}

Java

Code Block
languagejava
public class MainApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // RelatedDigital SDK nın init edilmesi
        RelatedDigital.init(
                context,
                "organizationIdDeğeri",
                "profileIdDeğeri",
                "dataSourceDeğeri");

        // In-App Notification Modülünün etkinleştirilmesi
        RelatedDigital.setIsInAppNotificationEnabled(
            context,
            true
        );

        // Push Notification Modülünün Etkinleştirilmesi
        if(GoogleUtils.checkPlayService(this)) {
            getFirebaseToken();
        } else {
            getHuaweiToken();
        }

        // Geofence Modülünün Etkinleştirilmesi
        RelatedDigital.setIsGeofenceEnabled(
            context,
            true
        );
    }

    private void getFirebaseToken(){
        FirebaseMessaging.getInstance().token
            .addOnCompleteListener(new OnCompleteListener<String>() {
              @Override
              public void onComplete(@NonNull Task<String> task) {
                if (!task.isSuccessful()) {
                  Log.e("Firebase Token : ", "Getting the token failed!!!");
                  return;
                }
                String token = task.getResult();
                //Push Notification Modülünün Etkinleştirilmesi
                RelatedDigital.setIsPushNotificationEnabled(
                    context,
                    true,
                    "googleAppAliasDeğeri",
                    "huaweiAppAliasDeğeri",
                    token
                );
              }
            });
    }

    private void getHuaweiToken() {
        new Thread() {
            @Override
            public void run() {
                try {
                    String appId = AGConnectServicesConfig.fromContext(getApplicationContext()).getString("client/app_id");
                    final String token = HmsInstanceId.getInstance(getApplicationContext()).getToken(appId, "HCM");

                    // Push Notification Modülünün Etkinleştirilmesi
                    RelatedDigital.setIsPushNotificationEnabled(
                        context,
                        true,
                        "googleAppAliasDeğeri",
                        "huaweiAppAliasDeğeri",
                        token);
                } catch (ApiException e) {
                    Log.e("Huawei Token", "Getting the token failed! " + e);
                }
            }
        }.start();
    }
}

Örnek Uygulama

RelatedDigital Demo Uygulaması