Я проверил об этой проблеме, о которой сообщалось git, многие сообщали об этом, но там не было подходящего решения.
Все работает нормально, если приложение закрыто и в памяти нет приложения.
Но мой вариант использования - получить ссылку на ветвь из Pu sh Уведомление.
Я также установил splashActivity как SingleTask
android: launchMode = "singleTask"
Я получаю следующее сообщение об ошибке.
BRANCH_SDK: Предупреждение. Инициализация сессии уже произошла. Чтобы форсировать новый сеанс, установите для параметра intent extra, "branch_force_new_session", значение true.
Следующий мой код проверяет, есть ли в нем какие-либо данные из ветви, и передает подробности в HomeActivity, HomeActivity затем загружает указанную c новость на основе идентификатора.
Я не знаю, куда передать branch_force_new_session
эту информацию. Если я передаю его из Spla sh Intent, он просто не работает.
Я использую branchSDK 5.0.1
class SplashActivity : AppCompatActivity(), , Branch.BranchReferralInitListener{
override fun onStart() {
super.onStart()
Branch.sessionBuilder(this).withCallback(this).withData(if (intent != null) intent.data else null).init()
Log.d("BRANCH_SDK_00_", "onStart")
}
override fun onInitFinished(referringParams: JSONObject?, error: BranchError?) {
if (error == null) {
if(referringParams?.has("news") ==true){
isNewsItemReceivedFromBranch = true
branchAggregatedFeedItemId = referringParams.getInt("news")
//StartHomeActivity()
}
initAppStartupProcesses()
} else {
Log.e("BRANCH_SDK", error.message)
initAppStartupProcesses()
}
}
}
Манифест
<activity
android:name=".activities.SplashActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Branch URI Scheme -->
<intent-filter>
<data android:scheme="aaa" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<!-- Branch URI Scheme -->
<!-- Branch App Links (optional) -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="aaa.aa.aa" />
<data android:scheme="https" android:host="aaa.aaaa" />
</intent-filter>
</activity>