Android UIライブラリ

Android UIライブラリ

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Notesこのヘルプページは Creator 6 をご利用のユーザー向けです。旧バージョン(Creator 5)をご利用の場合は、こちらをクリックしてください。ご利用中のCreator のバージョンを確認してください。

顧客アプリ向け Android UI ライブラリをインストールする

Android UI ライブラリを使用すると、タブの UI コンポーネントを利用できるほか、独自のカスタム UIを設計することもできます。

前提条件

  • Android Studio の最新バージョン

Android アプリを Zoho に登録する

  1. 左側ペインの モバイル セクションに移動し、SDK タブをクリックします。
  2. UI フレームワークを設定したい Android アプリの対象行をクリックします。右側に 顧客向け - SDK ペインが開きます。

  3. クライアントを生成 をクリックします。

  4. これにより、Creator アプリケーションと連携させたい Android アプリ用の クライアント IDクライアントシークレット、ポータル ID、および リダイレクト URI が生成されます。

  5. zcapp_info.properties ファイルをダウンロードし、プロジェクトの raw フォルダー '<your_project_folder>/app/src/main/res/raw' に追加します。(存在しない場合は、この場所に raw という名前のフォルダーを作成してください)

Kotlin を使用して顧客アプリ向け Android UI ライブラリをインストールする

Notes
メモ: Android アプリの最小 SDK バージョンは 22 以上である必要があります。
  1. Android アプリに SDK を連携します:
    1. app/build.gradle に Zoho の Maven リポジトリ URL を追加します:
      allprojects {
      repositories {
      google()
      mavenCentral()
      maven {
      url 'https://maven.zohodl.com'
      }
      }
      }
      メモ: repository の URL を settings.gradle に追加する際、Gradle was configured to prefer settings repositories over project repositories という問題が発生する場合があります。処理を続行するには、settings.gradle にも repository の URL を追加してください。
    2. Zoho Creator UI ライブラリと認証ライブラリを app/build.gradle に追加します。
      dependencies {
      implementation 'com。Zoho。creator:creator-ui:1。6。0'
      implementation 'com。Zoho。取引先。android:zaccountsclientportalsdk:V2_0'
      }
    3. IDE に表示されるバーで 今すぐ同期する をクリックします。
  2. 次のコードを使用してプロジェクトを設定します:
    1. アプリの strings。xml に、次の文字列を追加します:
      <string 名前='ui。ラベル。appname' translatable='無効'> YOUR アプリ名 </string>
      <string 名前='iam_portal_url'>https://accounts.zohoportal.com</string><!-- ご利用の DC に対応するアカウント URL を入力します。例: EU ユーザーは https://accounts.zohoportal.eu を使用します -->
      <string 名前='c_id'> 作成済み クライアント ID </string>
      <string 名前='c_secret'> 作成済み CLIENT シークレット ID </string>
      <string 名前='c_portal'> ポータル ID </string>
      <string 名前='redir_url'> REGISTERED REDIRECTURI</string> <!-- これらのパラメーターは、手順 2 で指定した URL から取得されます -->
    2. アプリケーション / アクティビティ クラスの oncreate メソッド内で、次のようにアカウント SDK を初期化します:
      IAMClientSDK.getInstance(this).init(scopes)
      ここで scopes は次のとおりです: 'aaaserver。権限。READ,zohocontacts。userphoto。READ,ZohoContacts。contactapi。READ,
      ZohoCreator。meta。作成,ZohoCreator。meta。READ,ZohoCreator。meta。更新する,
      ZohoCreator。meta。削除,ZohoCreator。data。作成,ZohoCreator。data。READ,
      ZohoCreator。data。更新する,ZohoCreator。data。削除,Stratus。stratusop。READ,
      ZohoCRM。タブ。READ,ZohoCRM。ユーザー。READ'
      メモ:スコープ一覧はバージョン 1.4 以上で更新されています。
    3. HandleRedirectActivity というアクティビティを作成し、その oncreate メソッドに次のコードを追加します:
      IAMClientSDK.getInstance(this).handleRedirection(this)
    4. AndroidManifest。xml ファイルに、次のコードを追加します:
      <活動 android:名前='.HandleRedirectActivity' android:エクスポート済み='真'>
      <intent-フィルター>
      <操作 android:名前='android。intent。操作。表示する' />
      <カテゴリー android:名前='android。intent。カテゴリー。初期設定' />
      <カテゴリー android:名前='android。intent。カテゴリー。BROWSABLE' />
      <data android:scheme='<REDIRECTURI_WITHOUT_COLON_AND_SLASH>' />
      </intent-filter>
      </activity>
    5. ログイン画面を開くには、次のコードスニペットを追加します:
      val sdk = IAMClientSDK.getInstance(applicationContext)
      if (!sdk.isUserSignedIn) {
          sdk.presentLoginScreen(this, object : IAMTokenCallback {
              override fun onTokenFetchInitiated() {
      
              }
      
              override fun onTokenFetchComplete(zohoToken: IAMToken) {
                  //<This method will be called after user logged-in successfully>
              }
      
              override fun onTokenFetchFailed(zohoErrorCodes: IAMErrorCodes) {
                  //<This method will be called if any error occurred in the login. You will receive the error code in this callback.>
              }
          }, null)
      } else {
          // start intent to your first activity
      }
    6. Creator 認証インターフェイス ZCOauthHelper を、次のようにアプリで実装します:
      クラス ZCAuthImpl(非公開 val context: Context) : ZCOauthHelper { @Throws(ZCException::クラス) override suspend fun getAccessToken(): String? { 返品する suspendCoroutine { continuation -> IAMClientSDK。getInstance(context).getToken(object : IAMTokenCallback { override fun onTokenFetchInitiated() { } override fun onTokenFetchComplete(token: IAMToken) { continuation。resumeWith(Result。完了(token。token)) } override fun onTokenFetchFailed(errorCode: IAMErrorCodes) { continuation。resumeWith(Result。完了(null)) } }) } } override fun getInitialScopes(context: Context): String { 返品する '' } override fun isUserSignedIn(): Boolean { 返品する IAMClientSDK。getInstance(context).isUserSignedIn } override fun getUserData(): Any? { 返品する null } override fun getTransformedUrl(url: String): String { 返品する url } override fun checkAndLogout(): Boolean { 返品する 無効 } override fun isEnhanceTokenNeeded(newScopes: String): Boolean { 返品する 無効 } override fun enhanceToken(tokenHelper: ZCOauthHelper。ZCOAuthTokenHelper, newScopes: String) { } override fun enhanceTokenWithOnDemandScope(tokenHelper: ZCOauthHelper。ZCOAuthTokenHelper) { }}
    7. Creator SDK に認証インターフェイスのインスタンスを設定するため、アプリケーション / アクティビティの oncreate メソッドに次のコードスニペットを追加します:
      ZCAPIUtil.setOAuthHelper(ZCAuthImpl(applicationContext))
    8. AndroidManifest。xml ファイルの application タグ内に、次を追加します:
      android:名前='com。Zoho。creator。a。ZCreatorApplication'

よくある質問(FAQ)

  1. Creator を生成する際にマージコンフリクトが発生します。どう対処すればよいですか?
    AndroidManifest。xml ファイルの application タグの下に tools:置き換える='android:allowBackup,android:ラベル,android:theme' を追加し、再度お試しください。
  2. '複製する クラス android。サポート。v4。app' エラーが発生します。どうすればよいですか?
    このエラーを解消するには、gradle。properties ファイルに android。enableJetifier=真 を追加してください。
  3. '複製する クラス androidx。lifecycle。ViewModelLazy found in タブ jetified' エラーが発生します。どうすればよいですか?
    このエラーを解消するには、依存関係リストに implementation 'androidx。lifecycle:lifecycle-viewmodel-ktx:2。4。0' を追加してください。

References