ข้ามไปที่เนื้อหา

Android

คู่มือนี้ให้คำแนะนำในการตั้งค่าฟีเจอร์การตรวจสอบสิทธิ์ใน Hive SDK Android

เพิ่มฟีเจอร์

คุณต้องเพิ่มไลบรารีภายนอกที่ตรงกับไฟล์ build.gradle ระดับโมดูล เพียงเพิ่มฟีเจอร์การตรวจสอบสิทธิ์ที่คุณจะใช้เท่านั้น

ด้านล่างเป็นตัวอย่างของการเพิ่มไลบรารีภายนอกไปยังไฟล์ build.gradle ระดับโมดูล

dependencies {
   // Feature-specific settings. Add only the features you are using.
    // AuthV4 Device Management
   implementation "com.com2us.android.hive:hive-authv4-device-management"
   // AuthV4 Google In-App Update
   implementation "com.com2us.android.hive:hive-authv4-google-inappupdate"
   // AuthV4 Google reCAPTCHA
   implementation "com.com2us.android.hive:hive-authv4-google-recaptcha"
   // AuthV4 Real Name Verification (China)
   implementation "com.com2us.android.hive:hive-authv4-real-name-verification"
}

เพิ่ม IdPs

เพิ่มไลบรารีภายนอกลงในไฟล์ build.gradle ระดับโมดูล เพียงเพิ่ม IdP ที่คุณจะใช้เท่านั้น.

ด้านล่างนี้คือตัวอย่างการเพิ่มไลบรารีภายนอกไปยังไฟล์ build.gradle ระดับโมดูล ฟีเจอร์ การเข้าสู่ระบบแขก สามารถใช้งานได้โดยไม่ต้องเพิ่มไลบรารีใด ๆ

dependencies {
    // IdP-specific settings. Add only the IdPs you are using.

    // Apple Login
    implementation "com.com2us.android.hive:hive-authv4-provider-apple-signin"

    // Facebook Login
    implementation "com.com2us.android.hive:hive-authv4-provider-facebook"

    // Google Play Games Login
    // `hive-authv4-provider-google-playgames` includes the `play-service-games-v2` library.
    implementation "com.com2us.android.hive:hive-authv4-provider-google-playgames"

    // Google Login
    // Google Play Games Login and Google Login are different login methods.
    implementation "com.com2us.android.hive:hive-authv4-provider-google-signin"

    // Membership Login
    implementation "com.com2us.android.hive:hive-authv4-provider-hive-membership"

    // Huawei Login
    implementation "com.com2us.android.hive:hive-authv4-provider-huawei"

    // LINE Login
    // To apply the LINE library, minSdkVersion 24 or higher is required.
    implementation "com.com2us.android.hive:hive-authv4-provider-line"

    // QQ Login
    implementation "com.com2us.android.hive:hive-authv4-provider-qq"

        // Steam Login
        implementation "com.com2us.android.hive:hive-authv4-provider-steam"

    // VK library requires targetSdkVersion 32 or higher.
    implementation "com.com2us.android.hive:hive-authv4-provider-vk"

    // WeChat Login
    implementation "com.com2us.android.hive:hive-authv4-provider-wechat"

    // Weverse Login
    implementation 

        // X Login
    implementation "com.com2us.android.hive:hive-authv4-provider-x"

    // Telegram Login
    implementation "com.com2us.android.hive:hive-authv4-provider-telegram"

        // Xiaomi Login
    implementation "com.com2us.android.hive:hive-authv4-provider-xiaomi-oauth"
}

ป้อนค่าคีย์สำหรับแต่ละ IdP ใน hive_config.xml

ป้อนค่าคีย์ที่ได้รับจากคอนโซล IdP แต่ละตัวใน hive_config.xml สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ ข้อกำหนดเบื้องต้นสำหรับการตรวจสอบสิทธิ์

การตั้งค่าเพิ่มเติมโดย IdP

ต้องการการกำหนดค่าที่เพิ่มเติมขึ้นอยู่กับ IdP.

การตั้งค่า IdP สำหรับการลงชื่อเข้าใช้ Google Play Games

ในการใช้การเข้าสู่ระบบ Google Play Games ให้ตั้งค่าดังนี้

AndroidManifest.xml การตั้งค่า

นี่คือการตั้งค่าสำหรับ Google Play Services ซึ่งเป็นค่าที่จำเป็นสำหรับ การตั้งค่าเข้าสู่ระบบ Google Play Games .

<manifest>
    <application>
    <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/>
    </application>
</manifest>

การกำหนดค่า Facebook IdP

ในการใช้การเข้าสู่ระบบ Facebook ให้กำหนดค่า AndroidManifest.xml ตามคำแนะนำด้านล่าง

ก่อนอื่น ให้ตั้งค่า FacebookContentProvider สำหรับการแชร์ลิงก์ รูปภาพ หรือวิดีโอในแอปเกม ป้อน Facebook AppID โดยการเพิ่มมันไปยัง com.facebook.app.FacebookContentProvider เป็นค่าของแอตทริบิวต์ android:authorities Facebook AppID สามารถพบได้ใน ID แอปสำหรับแอปเกมที่ลงทะเบียนใน Facebook console



ตัวอย่าง: เมื่อ FacebookAppID คือ 123456789

<provider android:authorities="com.facebook.app.FacebookContentProvider123456789"
    android:name="com.facebook.FacebookContentProvider"
    android:exported="true"/>
Warning

เพื่อเปิดใช้งาน การแชร์ Facebook การประกาศสิทธิ์ FacebookContentProvider จะป้องกันไม่ให้มีการติดตั้งแอป Android ที่เฉพาะเจาะจงกับตลาดพร้อมกัน (เช่น Google Play Store, ONE Store).
หากคุณไม่ได้ใช้การแชร์ Facebook โปรดดูที่ คู่มือการแก้ไขปัญหา เพื่อลบการประกาศสิทธิ์ FacebookContentProvider.

เพิ่มการตั้งค่าสำหรับ Facebook AppId และการกำหนดค่า client token (จำเป็นสำหรับ Facebook v13 และสูงกว่า) สำหรับ client token ของ Facebook ให้ดูที่ การตั้งค่าแอป > การตั้งค่าขั้นสูง ใน Facebook console



ตัวอย่าง: เมื่อ FacebookAppID คือ 123456789

<meta-data
    android:name="com.facebook.sdk.ApplicationId"
    android:value="fb123456789"/>

ตัวอย่าง: เมื่อ Facebook Client Token คือ 123456789

<meta-data
    android:name="com.facebook.sdk.ClientToken"
    android:value="fb123456789"/>
Note

คุณยังสามารถตั้งค่า Facebook AppId และ client token ในไฟล์ string.xml ได้ ในกรณีนี้ ไม่จำเป็นต้องใช้ fb prefix เมื่อกำหนด android:value สำหรับรายละเอียดเพิ่มเติม โปรดตรวจสอบ ที่นี่.

การกำหนดค่า QQ/WeChat IdP

หากคุณสนับสนุน QQ หรือ WeChat IdP โปรดสมัครเนื้อหาเพิ่มเติมดังต่อไปนี้


ตั้งค่าการพึ่งพาสำหรับโฟลเดอร์ libs ในไฟล์ build.gradle ระดับโมดูล

dependencies {
   implementation fileTree(include: ['*.jar'], dir: 'libs')
   implementation fileTree(include: ['*.aar'], dir: 'libs')
}

เพิ่มไลบรารีภายนอกจากเวอร์ชันการแจกจ่าย SDK ในโฟลเดอร์ libs ระดับโมดูล(.aar/.jar) รายการไลบรารีภายนอกที่รวมอยู่ในเวอร์ชันการแจกจ่ายมีดังนี้

  • mid-sdk-2.10.jar (เพิ่มไฟล์นี้เมื่อรองรับการเข้าสู่ระบบ QQ IdP)
  • mta-sdk-2.0.0.jar (เพิ่มไฟล์นี้เมื่อรองรับการเข้าสู่ระบบ QQ หรือ WeChat IdP)
  • open_sdk_3.5.4.11_r3f56456_lite.jar (เพิ่มไฟล์นี้เมื่อรองรับการเข้าสู่ระบบ QQ IdP)

การกำหนดค่าของ Huawei IdP

  1. เพิ่ม agconnect-services.json
    • เพิ่มไฟล์ agconnect-services.json ที่ดาวน์โหลดจาก Huawei console ลงในโฟลเดอร์โปรเจกต์
  2. กำหนดค่าโปรเจกต์ - ไฟล์ build.gradle
    • เพิ่มปลั๊กอิน AppGallery Connect และที่อยู่ Maven
      buildscript {
          repositories {
              google()
              jcenter()
              // Huawei HMS Core SDK.
              maven {url 'https://developer.huawei.com/repo/'}
          }
          dependencies {
              ...
              // Huawei AppGallery Connect plugin
              classpath 'com.huawei.agconnect:agcp:1.9.1.301'
          }
      }
      allprojects {
          repositories {
              google()
              jcenter()
              /// Huawei HMS Core SDK.
              maven {url 'https://developer.huawei.com/repo/'}
          }
      }  
      
  3. กำหนดค่าแอป - ไฟล์ build.gradle
    • เพิ่มไลบรารีการรับรองตัวตนของ Huawei และปลั๊กอิน
      dependencies {
          // Huawei Dependency
          implementation "com.com2us.android.hive:hive-authv4-provider-huawei" // Huawei authentication
      }
      apply plugin: 'com.huawei.agconnect'
      

การกำหนดค่า VK IdP

ในการใช้การเข้าสู่ระบบ VK ให้ตั้งค่าดังนี้

androidmanifest.xml การตั้งค่า

การตั้งค่าที่จำเป็นสำหรับ การเปลี่ยนเส้นทางการเข้าสู่ระบบ VK.

<manifest>
    <application>
        <activity
            android:name="com.hive.authv4.provider.vk.HiveProviderVkActivity"
            android:configChanges="colorMode|density|keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|locale|fontScale|layoutDirection"
            android:exported="true"
            android:launchMode="singleTask">

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="vk${vkClientId}" />
                <data android:host="vk.com" />
            </intent-filter>

        </activity>
    </application>
</manifest>

การกำหนดค่า Xiaomi IdP

ในการใช้การเข้าสู่ระบบ Xiaomi คุณต้องกำหนดค่า XiaomiAppId และ XiaomiAppKey ที่ได้รับจากคอนโซล Xiaomi

การตั้งค่า AndroidManifest.xml

<meta-data
    android:name="miGameAppId"
    android:value="${xiaomiAppId}" />
<meta-data
    android:name="miGameAppKey"
    android:value="${xiaomiAppKey}" />
<!-- user OAID -->
<meta-data
    android:name="miGameEnhance"
    android:value="false" />

การกำหนดค่ามาเวนใน Settings.gradle

maven {
    url "https://repos.xiaomi.com/maven"
    credentials {
        username 'mi-gamesdk'
        password 'AKCp8mYeLuhuaGj6bK1XK7t2w4CsPuGwg6GpQdZ9cat7K59y5sD7Tx3dHjJcFrBGj3TQ4vi7g'
    }
}

การกำหนดค่าห้องสมุด Build.gradle

dependencies {
    // hive-china-xiaomi-wrapper-xxxxxxxx.aar 
    implementation fileTree(include: ['*.aar'], dir: 'libs')
}