我com.google.firebase:firebase-messaging:20.0.0在安卓上使用。当我尝试发送如下通知时,它总是显示正常状态title,而不是body当它们出现在应用程序中时!有趣的是,iOS 中并非如此。在 iOS 中,它总是会尝试首先显示本地化资源,如果找不到它们,它将默认为普通资源。title_loc_keybody_loc_key
{
"to" : "f6_numko7IQ:APA91bFrTN0fmThFDeAFy2...",
"collapse_key" : "type_a",
"notification" : {
"title_loc_key": "resource_name_1",
"body_loc_key": "resource_name_2",
"title": "Default Title",
"body": "Default Body!"
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个已知的问题?有办法解决吗?
我正在努力了解新的Dagger2 API和对Android的支持。我正在使用Dagger2版本2.15:
implementation 'com.google.dagger:dagger:2.15'
implementation 'com.google.dagger:dagger-android:2.15'
implementation 'com.google.dagger:dagger-android-support:2.15'
annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.15'
Run Code Online (Sandbox Code Playgroud)
现在,在此版本中有一些类似的类DaggerApplication,DaggerAppCompatActivity但是我不确定如何使它们工作。
到目前为止,这是我所做的:
我在清单中添加的Application类:
class BaseApplication : DaggerApplication() {
override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
return DaggerAppComponent.builder().create(this)
}
}
Run Code Online (Sandbox Code Playgroud)
我的AppComponent:
@Singleton
@Component(modules = [
AndroidSupportInjectionModule::class
])
interface AppComponent : AndroidInjector<BaseApplication> {
@Component.Builder
abstract class Builder : AndroidInjector.Builder<BaseApplication>()
}
Run Code Online (Sandbox Code Playgroud)
我在所有创建的其他活动中扩展的基本Activity类:
abstract class BaseActivity : DaggerAppCompatActivity() {
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试制作或构建项目时,它会失败,而Dagger不会DaggerAppComponent为我生成。我想念什么?
好吧,我创建了一个项目,并添加了Fabric插件和Crashlytics依赖项,我也测试了它并且它有效.但是当我重构项目以使用AndroidX并启用jetifier工具时android.enableJetifier=true,项目不会构建,我会遇到多个错误:
Failed to transform file 'crashlytics-2.9.2.aar' to match attributes {artifactType=jetified-aar} using transform JetifyTransform
jetifier工具和Crashlytics依赖性似乎有问题.有没有办法关闭JetifyTransform单个依赖?
项目级gradle文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.41'
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-alpha14'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:3.1.2'
classpath 'io.fabric.tools:gradle:1.25.1'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) …Run Code Online (Sandbox Code Playgroud)