Android SDK集成指南

1. SDK目录一览

  • CydoniaSDK_V*.jar-SDK核心文件

  • google-services.json:Firebase使用的配置文件

  • 另外三个Java文件需要放到与MainActivity.java同级目录

2. 集成

2.1 将CydoniaSDK_V*.jar复制到app/libs文件夹下

2.2 将google-services.json复制到app文件夹下

2.3 将三个Java文件复制到MainActivity.java文件夹

2.4 配置Project层级的build.gradle

具体的版本可能会进行升级,所以可以参考Demo中的文件配置

a. 添加dependencies

classpath 'com.google.gms:google-services:4.0.1'//add for firebase

b. 添加allprojects里面的repositories

maven {
  url "https://maven.google.com" // Google's Maven repository//add for firebase
}

2.5 配置app层级的build.gradle,Sync工程

可以参考Demo中的文件配置

a. 添加android中

//add for sdk
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }

b. dependencies中添加(sdk版本可能会有变化,并且Twitter/Facebook/Google根据实际情况开启)

//////////////////
    // Add For SDK
    /////////////////
    //小于AndroidStudio3, 使用compile
    //设置install referer计测
    implementation 'com.android.installreferrer:installreferrer:1.0'
    implementation 'com.android.billingclient:billing:1.1'
    //add this for firebase
    implementation 'com.google.firebase:firebase-core:16.0.3'
    implementation 'com.google.firebase:firebase-messaging:17.3.1'
    //API < 20,multidex必须
    implementation 'com.android.support:multidex:1.0.3'
    // Include all the Twitter APIs
    //Twitter(must)-we need Twitter share
    implementation 'com.twitter.sdk.android:twitter-core:3.3.0'
    implementation 'com.twitter.sdk.android:tweet-composer:3.3.0'
    //google
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.android.gms:play-services-ads:15.0.0'
    implementation 'com.google.android.gms:play-services-analytics:16.0.3'
    //adjust
    implementation 'com.adjust.sdk:adjust-android:4.17.0'

c. 添加google-services的plugin

//add this for sdk-firebase
apply plugin: 'com.google.gms.google-services'

2.6 修改AndroidManifest.xml

AndroidManifest.xml共有8处需要修改,详情参考Demo例子

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.cydoniajp.sdkdevelop">

    <!-- 1.application name -->
    <application
        android:name=".CydoniaBaseApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <!-- 2.APP启动时所需的自定义URL SCHEME设置 -->
            <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="cydoniasdk" />
            </intent-filter>
        </activity>


        <!--3.使用Google Play Service-->
        <meta-data
            android:name="com.google.android.gms.vision"
            android:value="@integer/google_play_services_version" />

        <!--4.Twitter API-->
        <receiver
            android:name=".CydoniaTweetResultReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="com.twitter.sdk.android.tweetcomposer.UPLOAD_SUCCESS"/>
                <action android:name="com.twitter.sdk.android.tweetcomposer.UPLOAD_FAILURE"/>
                <action android:name="com.twitter.sdk.android.tweetcomposer.TWEET_COMPOSE_CANCEL"/>
            </intent-filter>
        </receiver>
        <!--5.Adjust-->
        <receiver
            android:name="com.adjust.sdk.AdjustReferrerReceiver"
            android:permission="android.permission.INSTALL_PACKAGES"
            android:exported="true" >
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>

        <!--6.start firebase service-->
        <service
            android:name=".CydoniaFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>

    </application>

    <!--8.need permission-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="com.android.vending.BILLING" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

</manifest>

2.7 res/values/strings.xml添加Facebook配置依赖

    <!--Facebook-->
    <string name="facebook_app_id">281413275820802</string>
    <string name="fb_login_protocol_scheme">fb281413275820802</string>
    <string name="fb_sign_in">Facebook Customer SignIn</string>
    <string name="fb_sign_out">Facebook Customer SignOut</string>
    <string name="fb_share">Facebook Share</string>

2.8 各API调用请参考Demo

Last updated

Was this helpful?