前提条件
- 最新バージョンのAndroid Studio
AndroidアプリをZohoに登録する
- 左側のパネルから モバイル をクリックしてください。
- Androidアプリのコアフレームワークを構成したい行をクリックします。右側に For User - SDK パネルが開きます。
- Generate Client をクリックしてください。
- Creatorアプリと統合したいAndroidアプリの client ID、client secret、およびredirectURIが生成されます。
- zcapp_info.properties ファイルをダウンロードし、プロジェクトの raw フォルダーに追加してください:'<your_project_folder>/app/src/main/res/raw'。(この位置に raw フォルダーがない場合は作成してください)
Kotlinを使用してユーザーアプリのAndroidコアライブラリをインストールする
- AndroidアプリとSDKを統合する:
- Zoho maven リポジトリのURLを app/build.gradle に追加します:
- Zoho Creator Core Library と Authentication Library を app/build.gradle に統合します。
- IDE内に表示されるバー内の「Sync Now」をクリックしてください。
-
- プロジェクトを次のコードで設定します:
- 以下の文字列をアプリの strings.xml に追加してください:
- アプリケーション/アクティビティクラスの oncreate メソッド内で、アカウントSDKを以下のように初期化します:
ZohoSDK.getInstance(this).init(scopes, showlogs);
ここで、
- scopes - 'aaaserver.profile.READ,zohocontacts.userphoto.READ,ZohoContacts.contactapi.READ,
ZohoCreator.meta.CREATE,ZohoCreator.meta.READ,ZohoCreator.meta.UPDATE,
ZohoCreator.meta.DELETE,ZohoCreator.data.CREATE,ZohoCreator.data.READ,
ZohoCreator.data.UPDATE,ZohoCreator.data.DELETE,Stratus.stratusop.READ,
ZohoCRM.modules.READ,ZohoCRM.users.READ' - showLogs - デバッグログを表示するかどうか
- scopes - 'aaaserver.profile.READ,zohocontacts.userphoto.READ,ZohoContacts.contactapi.READ,
- アクティビティを作成してください: HandleRedirectActivity 、そして oncreate メソッドに以下のコードを追加してください:
ZohoSDK.getInstance(this).handleRedirection(this);
- 次のコードを AndroidManifest.xml ファイルに追加します:
- ログイン画面を開くには、以下のコードスニペットを追加してください:
val sdk = ZohoSDK.getInstance(applicationContext)if (!sdk.isUserSignedIn) { sdk.presentLoginScreen(this, object : ZohoTokenCallback { override fun onTokenFetchInitiated() { } override fun onTokenFetchComplete(zohoToken: ZohoToken?) { // このメソッドは、ユーザーが正常にログインした後に呼び出されます } override fun onTokenFetchFailed(zohoErrorCodes: ZohoErrorCodes?) { // このメソッドは、ログイン中にエラーが発生した場合に呼び出されます。 このコールバックでエラーコードを受け取ります。 } }, null)} else { // 最初のアクティビティへのインテントを開始します}
- 以下のようにCreator認証インターフェース ZCOauthHelper を実装します。
class ZCAuthImpl(private val context: Context) : ZCOauthHelper { @Throws(ZCException::class) override suspend fun getAccessToken(): String? { return ZohoSDK.getInstance(context).token.token } override fun isUserSignedIn(): Boolean { return ZohoSDK.getInstance(context).isUserSignedIn } override fun getUserData(): Any? { return null } override fun getTransformedUrl(url: String): String { return url } override fun checkAndLogout(): Boolean { return ZohoSDK.getInstance(context).checkAndLogout() }override fun isEnhanceTokenNeeded(scope: String): Boolean { return false } override fun enhanceToken(tokenHelper: ZCOauthHelper.ZCOAuthTokenHelper) { }}
- アプリケーションの/アクティビティの oncreate メソッドに次のコードを追加して、Creator SDKにAuthenticationインターフェースのインスタンスを設定します。
ZCAPIUtil.setOAuthHelper(ZCAuthImpl(applicationContext))
- アプリケーション/アクティビティの oncreate メソッドで、ZohoCreator SDKを初期化します:
ZCAPIUtil.initialize(applicationContext)
-
よくある質問
- ビルドを生成しようとするとマージ衝突が発生します。どうすれば解決できますか?
アプリケーションタグの下にtools:replace='android:allowBackup'を追加して、AndroidManifest.xmlファイルを再試行してください。 - 「Duplicate class android.support.v4.app」エラーが表示されました。どうすればよいですか?
このエラーを解決するには、gradle.propertiesファイルにandroid.enableJetifier=trueを追加する必要があります。 - 「Duplicate class androidx.lifecycle.ViewModelLazyがモジュールjetifiedで見つかりました」エラーが表示されました。どうすればよいですか?
このエラーを解決するには、依存関係リストにimplementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'を追加してください。