Launching 'app' on Unknown Device.
Installation did not succeed.
The application could not be installed.
Installation failed due to: 'device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.'
Retry

 

> solution 1 : adb kill-server

cmd > Library/Android/sdk/platform-tools/adb kill-server

 

> solution 2 :  개발자옵션 > USB 디버깅 활성화  재설정

* 개발자 옵션 활성화 : 환경설정 > 디바이스 정보 > 소프트웨어 정보 > 빌드번호 N번 

* 개발자 옵션 > USB 디버깅 활성화  

 

> solution 3 : 컴퓨터-USB 재연결 USB 디버깅 허용 승인 

> 안드로이드에서 재확인 !

 

반응형

| 구글이 알려주는 정기 결제 (Subscription 101)  

 

1. Understanding Subscriptions 🖥

 

 

 

2. Understand subscription purchase flow 🖥

 

 

https://www.youtube.com/watch?v=9Ta2chg_Ak4

 

 

https://developer.android.com/google/play/billing/billing_subscriptions#News-resources

 

정기 결제 관련 기능 추가  |  Android Developers

이 문서에서는 Google Play 결제를 애플리케이션에 추가하기 위해 알아야 하는 기본적인 Google Play 결제 구성요소와 기능을 설명합니다.

developer.android.com

 

https://medium.com/androiddevelopers/subscriptions-101-for-android-apps-b7005a7e93a6

 

Subscriptions 101 for Android Apps

Subscriptions on Google Play Billing can be an excellent way to grow your business. However, coordinating between your Android app and…

medium.com

 

반응형
출시 버전의 앱을 빌드하고 서명한 후 다음 단계는 앱을 검사, 테스트 및 게시하기 위해 앱을 Google Play에 업로드하는 것입니다. 시작하기 전에 다음을 충족하는지 확인할 수 있습니다.
아직 Google Play 앱 서명에 등록하지 않았다면 등록하세요. 이러한 등록은 앱을 업로드하고 서명하는 데 권장되는 방법입니다. Android App Bundle을 빌드하고 업로드하는 경우 Google Play 앱 서명에 등록해야 합니다.

 

 

앱 서명  |  Android Developers

앱 서명 및 보안과 관련된 중요한 개념을 알아보고, Android 스튜디오를 사용하여 Google Play에 출시하기 위해 앱에 서명하는 방법과 Google Play 앱 서명을 선택하는 방법을 알아보세요.

developer.android.com

Google Play는 150MB 이하의 압축된 앱 다운로드만 지원합니다. 자세한 내용은 압축 다운로드 크기 제한을 참조하세요.
위의 요구사항을 충족했으면 계속 진행하고 앱을 Play Console에 업로드하세요. 이 페이지에서는 App Bundle을 업로드한 후 테스트하고 업데이트할 수 있는 방법도 설명합니다.

 

앱을 Android App Bundle로 업로드하면 Play Console에서 앱이 지원하는 모든 기기 구성의 분할 APK 및 멀티 APK를 자동으로 생성한다. Play Console에서 App Bundle 탐색기를 사용하여 Google Play에서 생성한 모든 APK 아티팩트를 보고, 지원되는 기기 및 APK 크기 감소율과 같은 데이터를 검사하고, 생성된 APK를 다운로드하여 로컬로 배포 및 테스트할 수 있다.

 

 

https://developer.android.com/studio/publish/upload-bundle

 

앱을 Play Console에 업로드  |  Android Developers

출시 버전의 앱을 빌드하고 서명한 후 다음 단계는 앱을 검사, 테스트 및 게시하기 위해 앱을 Google Play에 업로드하는 것입니다. 시작하기 전에 다음을 충족하는지 확인할 수 있습니다. 아직 Google Play 앱 서명에 등록하지 않았다면 등록하세요. 이러한 등록은 앱을 업로드하고 서명하는 데 권장되는 방법입니다. Android App Bundle을 빌드하고 업로드하는 경우 Google Play 앱 서명에 등록해야 합니다. Google Play는

developer.android.com

 

반응형

PlayStore에 앱을 등록하려면 서명된 Apk나 Bundle을 업로드 시켜야 한다. 

 

Android는 모든 APK가 기기에 설치되거나 업데이트되기 전에 인증서로 디지털 서명을 하도록 요구합니다. Android App Bundle을 사용하려면 Play Console에 App Bundle을 업로드하기 전에 App Bundle에만 서명하면 되고, 나머지는 Google Play 앱 서명에서 처리합니다. Google Play 및 다른 앱 스토어에 업로드하는 앱에 직접 서명할 수도 있습니다.
이 페이지에서는 앱 서명 및 보안과 관련된 중요한 개념을 알아보고, Android 스튜디오를 사용하여 Google Play에 출시하기 위해 앱에 서명하는 방법과 Google Play 앱 서명을 선택하는 방법을 설명합니다.

다음은 새 앱에 서명하고 새 앱을 Google Play에 게시하기 위해 따라야 하는 단계의 대략적인 개요입니다.

앱을 처음 마켓에 올릴 사람은 여기부터 시작하자. 

> 업로드 키 및 키 저장소 생성

아직 Google Play 앱 서명을 선택할 때 사용할 업로드 키가 없는 경우 다음 단계에 따라 Android 스튜디오에서 하나를 생성할 수 있습니다.

  1. 메뉴 바에서 Build > Build > Generate Signed Bundle/APK를 선택합니다.
  2. Generate Signed Bundle or APK 대화상자에서 Android App Bundle 또는 APK를 선택하고 Next를 클릭합니다.
  3. Key store path 필드 아래에서 Create new를 클릭합니다.
  4. 그림 2에 표시된 것처럼 New Key Store 창에서 다음과 같은 키 저장소 및 키의 정보를 입력합니다.

     

  5. 키 저장소

    • Key store path: 키 저장소를 생성할 위치를 선택합니다.
    • Password: 키 저장소에 사용할 보안 암호를 생성하고 확인합니다.
    • Alias: 키를 식별할 수 있는 이름을 입력합니다.
    • Password: 키에 사용할 보안 암호를 생성하고 확인합니다. 이 암호는 키 저장소용으로 선택한 암호와 달라야 합니다.
    • Validity (years): 키가 유효하게 유지되는 기간(년)을 설정합니다. 키가 최소 25년 동안 유효하게 유지되어야 앱 수명 동안 같은 키로 앱 업데이트에 서명할 수 있습니다.
    • Certificate: 인증서에 사용할 본인 관련 정보를 입력합니다. 이 정보는 앱에 표시되지 않지만 APK의 일부로 인증서에 포함됩니다.
  6. 양식을 작성하고 나면 OK를 클릭합니다.

  7. 업로드 키를 사용하여 앱을 빌드하고 서명하려면 다음 섹션에서 업로드 키로 앱에 서명하는 방법을 참조합니다. 키와 키 저장소만 생성하려면 Cancel을 클릭합니다.

 

https://developer.android.com/studio/publish/app-signing

 

앱 서명  |  Android Developers

앱 서명 및 보안과 관련된 중요한 개념을 알아보고, Android 스튜디오를 사용하여 Google Play에 출시하기 위해 앱에 서명하는 방법과 Google Play 앱 서명을 선택하는 방법을 알아보세요.

developer.android.com

 

반응형

https://play.google.com 에서 작업

 

앱의 인앱 상품과 관련된 이벤트 알림을 받으려면 실시간 개발자 알림을 설정해야한다. 

 

👉 실시간 개발자 알림 추가 (Google Cloud Platform Console)

Google Play 결제에서는 Play에서 관리하는 구독 항목과 관련된 상태 변화를 모니터링할 수 있는 서버 푸시 알림을 제공한다. 

실시간 개발자 알림을 사용 설정하면 기존 구독에 업데이트가 있을 때마다 Cloud Pub/Sub에서 직접 구매 토큰이 전송된다. 

토큰을 받으면 항상 구매 토큰을 사용해 Google Play 개발자 API에 쿼리하여 전체 정보를 가져와서 사용자의 현재 자격 상태로 백엔드를 업데이트해야 한다. 

 

  • 사용법
  1. 나만의 GCP(Google Cloud Platform) 프로젝트를 사용해 Cloud Pub/Sub를 설정합니다.
  2. Android 앱에 실시간 개발자 알림을 사용 설정합니다.

실시간 개발자 알림 추가 > Cloud Pub/Sub 설정

Cloud Pub/Sub는 독립적인 애플리케이션 간에 메시지를 주고받을 수 있도록 하는 완전 관리형 실시간 메시지 서비스로, Google Cloud Platform 및 외부에 호스팅된 시스템을 빠르게 통합할 수 있게 하며 지연 시간이 낮고 지속적인 메시지를 제공합니다.

Google Play 결제에서는 Cloud Pub/Sub를 사용해 구독 주제에 푸시 알림을 게시합니다.

> 사전 준비 설정

Cloud Pub/Sub를 사용하려면 Cloud Pub/Sub API가 사용 설정된 GCP(Google Cloud Platform)에 프로젝트가 있어야 합니다. GCP와 Cloud Pub/Sub를 잘 모르는 경우 빠른 시작 가이드를 참조하세요.

푸시 알림을 받으려면 주제에 전송된 메시지를 사용할 수 있는 보안 백엔드 서버를 만들어야 합니다. 서버는 Cloud Pub/Sub 클라이언트 라이브러리의 라이브러리를 사용해 메시지를 사용할 수 있습니다.

 

> 주제 만들기 (https://cloud.google.com/pubsub/docs/quickstart-console#create_a_topic)

 

> 구독 추가하기 : 주제 만든 곳 오른쪽버튼을 클릭해서 만들어야 주제 이름이 자동생성된다. 

> 주제에 게시 권한 부여

서비스 계정 google-play-developer-notifications@system.gserviceaccount.com을 추가한 다음 Pub/Sub 게시자 역할을 부여합니다.

앱에 실시간 개발자 알림 사용 설정 (Google Play Console) 

다시 Google Play Console로 돌아와서, 주제ID를 복사해서 붙여 넣고 '테스트 알림 보내기' 를 하면

Google Cloud Platform Console > 구독 >  구독ID 에서 '미확인 메시지 수'로 볼 수 있다. 

 

https://developer.android.com/google/play/billing/realtime_developer_notifications.html

 

실시간 개발자 알림 추가  |  Android Developers

개요 Google Play 결제에서는 Play에서 관리하는 구독 항목과 관련된 상태 변화를 모니터링할 수 있는 서버 푸시 알림을 제공합니다. 실시간 개발자 알림을 사용 설정하면 기존 구독에 업데이트가 있을 때마다 Cloud Pub/Sub에서 직접 구매 토큰이 전송됩니다. 실시간 개발자 알림은 사용자에게 현재 구독 콘텐츠에 액세스할 자격이 있는지와 같은 구독 상태에 관한 전체 정보를 제공하지 않습니다. 토큰을 받으면 항상 구매 토큰을 사용해 Google P

developer.android.com

 

반응형

Google Play 결제 라이브러리 사용하기 

 

https://developer.android.com/google/play/billing/billing_library_overview

 

Google Play 결제 라이브러리 사용  |  Android Developers

이 문서에서는 Google Play 결제 라이브러리를 이용하여 앱에 Google Play 결제를 추가하는 방법을 설명합니다. 특히 일회성 제품, 리워드 제품, 구독 등 모든 인앱 상품 유형에 일반적인 Google Play 결제 기능을 추가하는 방법을 다룹니다. 인앱 상품 관련 기능을 앱에 추가하는 방법을 알아보려면 이 페이지 끝에 나열된 문서를 읽어보세요. 이 페이지를 읽기 전에 다음과 같은 작업을 해야 합니다. Google Play 결제 개요를 읽고 중

developer.android.com

| 정기 결제 개요

https://developer.android.com/google/play/billing/billing_overview#다음-단계

 

Google Play 결제 개요  |  Android Developers

이 문서에서는 Google Play 결제를 애플리케이션에 추가하기 위해 알아야 하는 기본적인 Google Play 결제 구성요소와 기능을 설명합니다.

developer.android.com

1) Google Play 결제 개요 를 우선 읽고 개념용어 익히기.

2) Google Play Console 에서 인앱 상품 구성 일회성/리워드/구독

 

| Sample App 

https://github.com/googlesamples/android-play-billing/tree/master/TrivialDrive_v2

 

googlesamples/android-play-billing

Samples for Google Play In-app Billing. Contribute to googlesamples/android-play-billing development by creating an account on GitHub.

github.com

 

반응형

개발 APNs는 subtitle이 없어도 push가 되지만, 상용 APNs에 subtitle 이 등록 되어야 push가능.  

반응형

no such module 'alamofire'

 

> 이건 순서가 중요하다. 

 

1) Git Repository 에서 workspace를 먼저 열지 말고, 커맨드창으로 간다.  

2) 소스가 있는 경로로 가서 pod을 업데이트 한다. 

pod update

3) 그 후에 xcode.workspace를 열어서 빌드를 한다. 

반응형
반응형

 

Warning: Async Storage has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/async-storage' instead of 'react-native'. See https://github.com/react-native-community/react-native-async-storage

1. npm install  

npm install @react-native-community_async-storage -save

2. react-native link 

react-native link @react-native-community_async-storage

 3. In android/app/build.gradle add to dependencies:

implementation project(':@react-native-community_async-storage')

 

> Task :app:compileDebugJavaWithJavac FAILED
MainApplication.java:6: error: package com.reactnativecommunity.asyncstorage does not exist
import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;
                                            ^
MainApplication.java:37: error: cannot find symbol
            new AsyncStoragePackage(),
                ^
  symbol: class AsyncStoragePackage

 

 

https://github.com/react-native-community/react-native-async-storage

 

react-native-community/react-native-async-storage

An asynchronous, persistent, key-value storage system for React Native. - react-native-community/react-native-async-storage

github.com

 

 

 

반응형

FileCache cache1 = ImagePipelineFactory.getInstance().getMainDiskStorageCache();   FileCache cache2 = ImagePipelineFactory.getInstance().getSmallImageDiskStorageCache();

 

solution:
【L69】FileCache cache1 = ImagePipelineFactory.getInstance().getMainFileCache();
【L80】FileCache cache2 = ImagePipelineFactory.getInstance().getSmallImageFileCache();

 

https://github.com/reactnativecn/react-native-http-cache/issues/23

 

Throwing error cannot find symbol method getMainDiskStorageCache() on building · Issue #23 · reactnativecn/react-native-http-cac

I followed the doc and added react-native-http-cache to my project, but on building the app I am getting the following error /Users/sooraj/test/node_modules/react-native-http-cache/android/src/main...

github.com

 

반응형

Installation

npm install --save react-native-device-info

Linking

react-native link react-native-device-info

 

 

 

 

 

https://www.npmjs.com/package/react-native-device-info

 

react-native-device-info

Get device information using react-native

www.npmjs.com

 

 

 

 

반응형

Warning: NetInfo has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/netinfo' instead of 'react-native'. See https://github.com/react-native-community/react-native-netinfo

 

npm install --save @react-native-community/netinfo

react-native link @react-native-community/netinfo

 

https://github.com/react-native-community/react-native-netinfo

반응형

#Android & Chrome

소스적용 : MainApplication.java

 

 

 

 

 

 

import android.webkit.WebView;

@Override public void onCreate() { 
   super.onCreate();   
   WebView.setWebContentsDebuggingEnabled(true); 
}

 

확인 : chrome://inspect/#devices 

 

 

 

 

 

 

 

https://github.com/react-native-community/react-native-webview/blob/master/docs/Debugging.md

 

react-native-community/react-native-webview

React Native Cross-Platform WebView. Contribute to react-native-community/react-native-webview development by creating an account on GitHub.

github.com

 #WebView.setWebContentsDebuggingEnabled(true);

반응형

Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.

=> MainApplication.java

from : import com.philipphecht.RNDocViewerPackage;

To: import com.reactlibrary.RNReactNativeDocViewerPackage;

 

from :  new RNDocViewerPackage()

to : new RNReactNativeDocViewerPackage()

 

반응형

+ Recent posts