Android 모바일 앱
이 문서는 Vantiq Android 앱을 사용자 정의하거나 브랜드를 변경하는 데 관심이 있는 개발자에게 지침을 제공합니다. 다음 섹션에서는 새 앱을 Google Play 스토어에 제출하는 것을 목표로 Vantiq 버전을 기반으로 새 Android 앱을 개발하는 데 필요한 작업에 대해 설명합니다.
참고: 이 문서에서는 독자가 숙련된 Android 개발자라고 가정합니다. 또한 이미지 이상의 것을 사용자 정의하는 경우 개발자는 Java 및 Android SDK를 사용한 개발에 익숙해야 합니다.
Vantiq Android 앱 저장소 포크
Vantiq Android 앱 GitHub 저장소를 찾을 수 있습니다. 여기에서 확인하세요. Vantiq이 관리하는 앱 버전의 변경 사항을 추적하는 기능을 유지하려면 개발자가 저장소를 포크해야 합니다. 포크된 저장소를 원본과 최신 상태로 유지하는 방법을 배울 수 있는 정보 소스가 많이 있습니다. 여기는 요약 하나.
애플리케이션 ID(appId)를 선택하세요.
시작하기 전에 앱에 대한 고유한 'appId'를 선택해야 합니다. 일반적으로 'io.myCompany.myApp'. 이 값은 아래 지침의 다양한 위치에 연결되어야 합니다. 앱이 배포된 후에는 이 appId를 변경할 수 없습니다.
Android 앱 등록
Android 앱을 개발하려면 유효한 Google 로그인이 필요합니다.
앱을 게시하려면 먼저 Google Play 스토어에 등록해야 합니다. 가면서 시작하세요 여기에서 확인하세요 그리고 로그인.
"모든 애플리케이션" 페이지에는 귀하의 계정이 소유한 모든 애플리케이션 목록이 표시됩니다. 이전에 앱을 만든 적이 없다면 이 목록은 비어 있습니다. 새 앱을 만들려면 '애플리케이션 만들기' 버튼을 클릭해야 합니다. 많은 정보가 포함된 일련의 대화 상자를 작성하라는 메시지가 표시되며, 그 중 대부분은 앱 스토어에서 목록 페이지를 만드는 데 사용됩니다. 여기에는 다양한 크기의 앱 아이콘과 일부 샘플 스크린샷이 포함됩니다. 이 모든 항목을 한 번에 작성할 필요는 없습니다. 누락된 부분을 제공할 준비가 되면 다시 돌아와 편집할 수 있습니다.
이 프로세스가 완료되면 앱이 등록됩니다. 이제 ""의 Vantiq 코드를 기반으로 앱 자체를 구축해야 합니다.기계적 인조 인간” GitHub 저장소.
키스토어 생성
앱을 게시하려면 먼저 디지털 서명을 해야 합니다. 여기에는 Java "키 저장소" 파일 내에 개인 키를 생성하는 작업이 포함됩니다. 이를 수행하는 방법에는 여러 가지가 있습니다.
다음은 Android Studio(또는 IntelliJ)를 사용하는 프로세스에 대한 설명입니다. https://developer.android.com/studio/publish/app-signing
명령줄에서 "keytool" 명령을 사용하여 이 작업을 수행할 수도 있습니다. http://blog.rabidgremlin.com/2015/11/06/how-to-create-a-private-key-for-signing-android-apps
이 두 기술 모두 나중에 필요할 “별칭”과 두 개의 비밀번호를 선택하라는 메시지를 표시합니다. 잃지 마세요!
키스토어 파일을 “android.jks”로 불러야 합니다. 완료되면 이 파일을 "app" 디렉터리에 복사해야 합니다.
app/android.jks
'keys.gradle' 파일 생성
다음으로 "app" 디렉토리에 "keys.gradle"이라는 파일을 생성해야 합니다. 여기에는 키 저장소 파일을 가리키는 정보와 키가 해당 파일에 액세스하는 데 필요한 정보가 포함되어 있습니다. 파일은 다음과 같아야 합니다.
android {
signingConfigs {
config {
keyAlias 'MyAlias'
keyPassword 'MyKeyPassword'
storeFile file('android.jks')
storePassword 'MyStorePassword'
}
}
}
'MyAlias', 'MyKeyPassword', 'MyStorePassword'는 위 android.jks 키스토어 파일 생성 시 입력한 값으로 바꿔야 합니다.
'flavors.gradle' 파일 사용자 정의
다음으로 "app" 디렉터리에도 있는 "flavors.gradle" 파일을 사용자 정의합니다.
android {
productFlavors {
//
// This is a special branding flavor for your custom app; you must replace "io.mypackage.app" with
// your chosen appId.
//
custom {
dimension "brand"
applicationId "io.mypackage.app"
}
}
}
변경해야 할 유일한 사항은 "io.mypackage.app"을 위에서 선택한 appId로 바꾸는 것입니다.
FileProvider 사용자 정의
app/src/custom/AndroidManifest.xml이라는 파일을 편집하여 "authorities"에 appId를 포함시킵니다. 처음에는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.vantiq.rcs">
<application
android:name=".VantiqApplication"
android:allowBackup="true"
android:icon="@drawable/appicon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!-- The "authorities" attribute must contain the appid with '.fileprovider' appended -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="io.mypackage.app.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
</application>
</manifest>
여기에서 "io.mypackage.app"을 appId로 바꿔서 "android:authorities="io.mypackage.app.fileprovider"를 편집해야 합니다.
Firebase를 설정하고 앱에 연결하세요.
앱은 Vantiq 서버로부터 '푸시 알림'을 수신하는 메커니즘으로 Firebase를 사용합니다. Firebase와 통신하도록 앱을 등록하려면 표시된 지침을 따라야 합니다. 여기에서 확인하세요 "옵션 1"을 사용합니다. 이 프로세스의 최종 결과에는 'google-services.json'이라는 파일이 포함됩니다. 이 파일을 여기에 복사해야 합니다(여기에 있는 샘플 복사본을 덮어씁니다).
app/src/global/custom/google-services.json
앱 브랜드화
이제 다양한 Vantiq 관련 기본 설정을 수정하여 이 프로세스의 실제 "브랜딩" 부분을 시작할 수 있습니다. 예를 들어, 앱 아이콘(휴대폰의 "홈 화면"에 있는 앱을 나타냄)과 앱이 시작될 때 "스플래시 화면"에 표시되는 아이콘을 재정의할 수 있습니다. 이는 app/src/custom/res 디렉토리에 있는 아이콘을 수정하여 변경해야 합니다. 각 화면 해상도마다 하나의 아이콘 변형이 있어야 합니다.
앱 메시지 파일(app/src/custom/res/values/strings.xml에 있음)을 사용자 정의할 수도 있습니다. "Vantiq"에 대한 참조를 자신의 회사 이름으로 바꿔야 하는 경우 이 작업을 수행할 수 있습니다.
여기에 있는 파일을 편집하여 다양한 기본 색상을 조정할 수 있습니다.
app/src/main/res/values/colors.xml
이 파일에는 다양한 색상 값이 적용되는 방법을 설명하는 설명이 포함되어 있습니다.
서명된 버전의 앱 빌드
앱용 APK를 빌드할 준비가 되면(Google Play 스토어에 제출할 수 있도록) Android Studio를 사용하거나 명령줄에서 다음을 사용하여 이를 수행할 수 있습니다.
gradle assembleGlobalCustomRelease
결과로 서명된 APK는 다음에서 찾을 수 있습니다.
app/build/outputs/apk/globalCustom/release/app-global-custom-release.apk
Google Play Console의 '출시 관리'/'앱 출시' 페이지를 사용하여 Play 스토어에 업로드할 수 있습니다.
소비자 모드
소비자 모드는 전용 Vantiq 서버 URL, 네임스페이스 및 공개 클라이언트 이름. 이를 통해 브랜드 앱이 자체 등록을 구현하는 공개 클라이언트를 표시할 수 있습니다. 공용 클라이언트가 실행되고 사용자가 인증되면 소비자 모드에서는 실행할 단일 전용 개인 클라이언트도 지정합니다. 기존 Vantiq 모바일 앱에 있는 다른 기능은 사용할 수 없습니다.
소비자 모드를 제어하는 데 사용되는 소스 파일이 있습니다.
app/src/main/java/io/vantiq/rcs/misc/Configuration.java
이 파일을 사용하면 Android 앱의 동작을 수정하는 데 사용되는 여러 가지 상수 값을 설정할 수 있습니다.
소비자 모드를 활성화하려면 "true"로 설정해야 하는 "isConsumer"라는 부울 값이 있습니다. 소비자 모드가 "true"이면 절대로 필요한 것 또한 다음 값도 설정하십시오.
- debugConsumerModeServer
- releaseConsumerModeServer
- debugConsumerMode네임스페이스
- releaseConsumerMode네임스페이스
- 디버그공개클라이언트 이름
- releasePublicClientName
- debugPrivate클라이언트 이름
- releasePrivateClientName
이는 소비자 모드에 필요한 하드코딩된 서버, 네임스페이스, 공용 클라이언트 및 개인 클라이언트를 설정하는 데 사용됩니다. 편의를 위해 각 값에는 "디버그" 및 "릴리스" 특성이 모두 있습니다. 이를 통해 개발(“디버그”) 중에 하나의 값 세트를 사용하고 앱 스토어에 배포하기 위해 앱을 빌드할 때(“릴리스”) 다른 값 세트를 사용할 수 있습니다.
Configuration.java에서 찾을 수 있는 "geoFencing"의 작동에 영향을 미치는 몇 가지 다른 매개변수가 있습니다. 설명은 댓글을 참조하세요.