Skip to content
Brad edited this page Jul 18, 2013 · 12 revisions

baas.io Android SDK๋ฅผ ์‰ฝ๊ฒŒ ์ด์šฉํ•˜์—ฌ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜์‹ค ์ˆ˜ ์žˆ๋„๋ก, Startup ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ๊ณตํ•ด๋“œ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Startup ํ”„๋กœ์ ํŠธ๋Š” AndroidMenifest.xml ์„ค์ • ๋ฐ Push ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ GCM ๋ชจ๋“ˆ์ด ์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด ์ ์šฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋งŒ, baas.io์— ๊ฐ€์ž…๋œ ์ •๋ณด๋“ค์€ ์ง์ ‘ ์ˆ˜์ •ํ•ด ์ฃผ์…”์•ผํ•ฉ๋‹ˆ๋‹ค.(BaasioConfig.java)

โ€ป Startup Project ๊ฐ€์ด๋“œ๋ฅผ ๋ณด๊ธฐ ์ „์—...

  • baas.io์— ๊ฐ€์ž…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. baas.io ๊ฐ€์ž… ํŽ˜์ด์ง€์—์„œ ๊ฐ€์ž…ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Android ADT ๋ฐ SDK๋ฅผ ํ•ญ์ƒ ์ตœ์‹ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํˆด์€ "Get the Android SDK"๋ฅผ ํ™•์ธํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • Text file encoding ๋ฐฉ๋ฒ•์ด UTF-8 ๊ธฐ์ค€์œผ๋กœ ๊ฐœ๋ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฐœ๋ฐœํˆด์˜ Text file encoding ์„ค์ •์ด UTF-8๋กœ ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์‹คํ–‰ํ•˜๊ธฐ

Step 1. ์†Œ์Šค ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ

๋ฐฉ๋ฒ•1: git clone

๊ณ ๊ฐ์„ผํ„ฐ๋Š” ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. clone์„ ๋ฐ›์œผ์‹œ๊ฑฐ๋‚˜ fork๋ฅผ ํ•˜์…”์„œ ์ž์œ ๋กญ๊ฒŒ ์ด์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

git clone https://github.com/baasio/baas.io-startup-android.git

๋ฐฉ๋ฒ•2: ์••์ถ•(Zip) ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

์•„๋ž˜์˜ ๋งํฌ์—์„œ zipํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ์›ํ•˜์‹œ๋Š” ์œ„์น˜์— ์••์ถ•ํ•ด์ œ ํ•ฉ๋‹ˆ๋‹ค.

https://github.com/baasio/baas.io-startup-android/archive/master.zip

Step 2. ํ”„๋กœ์ ํŠธ Importํ•˜๊ธฐ

  1. "File-Import"๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    <Import>

  2. Import ๋‹ค์ด์–ผ๋กœ๊ทธ์—์„œ "General-Existing Projects into Workspace"๋ฅผ ์„ ํƒํ•˜๊ณ  "Next"๋ฒ„ํŠผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    <Existing Projects into Workspace>

  3. ๋‹ค์Œ Improt ๋‹ค์ด์–ผ๋กœ๊ทธ ํ™”๋ฉด์—์„œ "Select root directory"์˜ "Browse"๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํด๋”๋ฅผ ์„ ํƒํ•˜๊ณ , "Projects:"์—์„œ BaasioStartupProject๋ฅผ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  "Finish"๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    <Import BaasioStartupProject>

Step 3. BaasioConfig.java ์ˆ˜์ •ํ•˜๊ธฐ

  1. baas.io ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜์—ฌ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.

  2. My Page์˜ Apps ๋ชฉ๋ก์—์„œ sandbox๋ฅผ ์„ ํƒํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ธฐ๋ณธ ์ •๋ณด ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

    <๊ธฐ๋ณธ์ •๋ณด>

  3. BaasioStartupProject์˜ "com.kth.baasio.startup" ์œ„์น˜์— ์žˆ๋Š” BaasioConfig.java์„ ์—ด์–ด, PUT_YOUR_BAASIO_MEMBER_ID ๋ถ€๋ถ„์„ baas.io ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์œ„ ๊ธฐ๋ณธ์ •๋ณด ํ™”๋ฉด์˜ baas.io ID์— ํ‘œ์‹œ๋œ UUID ํ˜•ํƒœ์˜ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.(email ์ฃผ์†Œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.)

    PUT_YOUR_SANDBOX_APPLICATION_ID ๋ถ€๋ถ„์„ baas.io์— ์ด๋ฏธ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” 'sandbox' ๋ฐฑ์—”๋“œ์•ฑ์˜ ์•„์ด๋””๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์œ„ ํ™”๋ฉด์˜ Appliation ID์— ํ‘œ์‹œ๋œ UUID ํ˜•ํƒœ์˜ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     // BaasioConfig.java
     package com.kth.baasio.startup;
    
     public class BaasioConfig {
         public static final String BAASIO_URL = "https://api.baas.io";
     
         // baas.io member ID
         public static final String BAASIO_ID = "PUT_YOUR_BAASIO_MEMBER_ID";
     
         // baas.io application ID
         public static final String APPLICATION_ID = "PUT_YOUR_SANDBOX_APPLICATION_ID";
     
         // GCM(google cloud messaging service) sender ID
         public static final String GCM_SENDER_ID = null;	
     
     }
    

    โ€ป sandbox ๋ฐฑ์—”๋“œ์•ฑ์˜ Application ID๋กœ ํ•˜๋Š” ์ด์œ 

    • baas.io์— ๊ฐ€์ž…ํ•˜์‹œ๋ฉด "sandbox"๋ผ๋Š” ๋ฐฑ์—”๋“œ์•ฑ์ด ๊ธฐ๋ณธ์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • "sandbox"์•ฑ์€ ๋ชจ๋“  ๊ถŒํ•œ์ด ํ’€๋ ค์žˆ์–ด ๊ฐ€์ž…/๋กœ๊ทธ์ธํ•œ ํšŒ์›์ด ์•„๋‹ˆ์–ด๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋งŒ์•ฝ PUT_YOUR_SANDBOX_APPLICATION_ID๋ถ€๋ถ„์— ์ƒ์„ฑํ•˜์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ID๋ฅผ ๋„ฃ์œผ์‹œ๊ณ  ๋™์ž‘์„ ์‹œํ‚ค๋ฉด, ๊ถŒํ•œ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด์„œ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ์ƒ์„ฑํ•˜์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ID๋กœ ๋™์ž‘๋˜๋„๋ก ํ•˜๋ ค๋ฉด, baas.io์˜ ๋ฐ์ดํ„ฐ๋ธŒ๋ผ์šฐ์ €์—์„œ Role์„ ์„ค์ •ํ•˜์—ฌ ๊ถŒํ•œ์„ ํ’€์–ด์ค˜์•ผํ•ฉ๋‹ˆ๋‹ค.
    • ๊ถŒํ•œ์„ ํ’€์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. My page > Apps์—์„œ ์•ฑ ์„ ํƒ > ๋ฐ์ดํ„ฐ๋ธŒ๋ผ์šฐ์ € > roles ์—์„œ name: guest๋ฅผ ์„ ํƒ 2. ROLES Entity ์กฐํšŒ์ฐฝ์—์„œ Permission ํƒญ ์„ ํƒ > ์ž…๋ ฅ์ฐฝ์— "/greetings/*" ์ž…๋ ฅ > read, create, update, delete ์ฒดํฌ๋ฐ•์Šค ์„ ํƒ > Path ์ถ”๊ฐ€ ์„ ํƒ
    • Role์— ๊ด€๋ จ๋œ ์ž๋ฃŒ๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค. - ์—ญํ• ๊ณผ ๊ถŒํ•œ - baas.io ์—์„œ User Role ์„ค์ • ๊ธฐ๋ณธ

Step 4. Push ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” ํ•˜๊ธฐ

Push ๊ธฐ๋Šฅํ™•์ธ์ด ํ•„์š” ์—†์œผ์‹œ๋ฉด ์ด ๋ถ€๋ถ„์€ ๊ฑด๋„ˆ๋›ฐ์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

Push ๊ธฐ๋Šฅ์„ ํ™•์ธํ•˜์‹œ๊ธฐ ์œ„ํ•ด์„œ๋Š” GCM ๊ด€๋ จ ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ Google API Key์™€ Sender ID๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ๋ฐœ๊ธ‰ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ๋งํฌ์— ์‰ฝ๊ฒŒ ์„ค๋ช…๋˜์–ด ์žˆ์œผ๋‹ˆ ๊ผญ ํ™•์ธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Google API Key์™€ Sender ID๋ฅผ ์•Œ๊ณ  ๊ณ„์‹œ๋Š” ๊ฒƒ์„ ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ๋ฐฑ์—”๋“œ์•ฑ์˜ ์„ค์ •์— Google API Key ๋“ฑ๋ก

baas.io์ด๋™ > My page > ๋ฐฑ์—”๋“œ์•ฑ์„ ์„ ํƒ > ์„ค์ • > ํ‘ธ์‰ฌ์ธ์ฆ์„œ ๊ด€๋ฆฌ์— Google API Key๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

<Google API Key ๋“ฑ๋ก>

2. BaasioConfig.java ์ˆ˜์ •

BaasioConfig.java์— GCM_SENDER_ID๋ฅผ Google API Key๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์„ ๋•Œ ๋ฐ›์€ Sender ID(Project ID)๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

public class BaasioConfig {
    public static final String BAASIO_URL = "https://api.baas.io";

    // baas.io member ID
    public static final String BAASIO_ID = "PUT_YOUR_BAASIO_MEMBER_ID";

    // baas.io application ID
    public static final String APPLICATION_ID = "PUT_YOUR_APPLICATION_ID";

    // GCM(google cloud messaging service) sender ID
    public static final String GCM_SENDER_ID = "PUT_YOUR_GCM_SENDER_ID";

}

Step 5. ๋นŒ๋“œํ•˜๊ธฐ

์ด์ œ ๋ชจ๋“  ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋์Šต๋‹ˆ๋‹ค. BaasioStartupProject๋ฅผ "Project-Clean..."ํ•˜์—ฌ Clean Buildํ•˜์‹œ๊ณ , BaasioStartupProject๋ฅผ ์‹คํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ •์ƒ ๋™์ž‘ ํ™•์ธ ํ•˜๊ธฐ

  • Startup ํ”„๋กœ์ ํŠธ๋Š” ์‹คํ–‰ํ•˜๋ฉด "baas.io ์‹œ์ž‘ํ•˜๊ธฐ"๋ฒ„ํŠผ๊ณผ "ํ™•์ธํ•˜๊ธฐ"๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    <์‹คํ–‰ํ™”๋ฉด>

  • "baas.io ์‹œ์ž‘ํ•˜๊ธฐ" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์‹œ๋ฉด, ๊ธฐ๋ณธ์ ์ธ ์ปค์Šคํ…€ Entity๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜์—ฌ baas.io๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

    <์‹œ์ž‘ํ•˜๊ธฐ>

  • "ํ™•์ธํ•˜๊ธฐ" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์‹œ๋ฉด, "baas.io ์‹œ์ž‘ํ•˜๊ธฐ" ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒ์„ฑํ•œ ์ปค์Šคํ…€ Entity์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ณ ์™€ ํ™”๋ฉด์— ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

    <ํ™•์ธํ•˜๊ธฐ>

  • ์ด๋ฅผ ํ†ตํ•˜์—ฌ ์ •์ƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • APPLICATION_ID์˜ PUT_YOUR_SANDBOX_APPLICATION_ID์— ์„ค์ •ํ•˜์‹  "sandbox" ๋ฐฑ์—”๋“œ์•ฑ์€ ํšŒ์›๊ฐ€์ž… ์—†์ด๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํ…Œ์ŠคํŠธ์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์™„๋ฃŒํ•˜์‹œ๋ฉด ์‹ค์ œ ๋ฐฑ์—”๋“œ์•ฑ์„ ์ƒ์„ฑํ•˜์…”์„œ ์ˆ˜์ •ํ•˜์‹œ๊ณ  ์‚ฌ์šฉํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

โ€ป ์ž˜ ์•ˆ๋˜์‹œ๋‚˜์š”?

  1. <CHECK!!> ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.
  2. <CHECK!!> AndroidMenifest.xml์— INTERNET ํผ๋ฏธ์…˜์„ ๋น ๋œจ๋ฆฌ์ง„ ์•Š์œผ์…จ๋‚˜์š”?
  3. <CHECK!!> ADT 22 ๋ถ€ํ„ฐ๋Š” Android Private Libraries๊ฐ€ Build Path์— ํฌํ•จ๋˜์–ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. Properties > Java Build Path > Order and Export์— "Android Private Libraries"๋ฅผ ์ฒดํฌํ•ด์ฃผ์‹œ๊ณ , "Project-Clean..."ํ•˜์—ฌ Clean Build ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  4. <CHECK!!> APPLICATION_ID์˜ PUT_YOUR_SANDBOX_APPLICATION_ID๊ฐ€ sandbox ๋ฐฑ์—”๋“œ์•ฑ์˜ UUID๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

ํ‘ธ์‰ฌ ํ™•์ธํ•ด๋ณด๊ธฐ

baas.io์ด๋™ > My page > ๋ฐฑ์—”๋“œ์•ฑ์„ ์„ ํƒ > ํ‘ธ์‹œ๊ด€๋ฆฌ > ํ‘ธ์‹œ๋ฐœ์†ก์—์„œ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”.

ํ…Œ์ŠคํŠธ ํ•˜์‹ค ๋•Œ์—๋Š” Google Play๊ฐ€ ์„ค์น˜๋œ ์‹ค์ œ ์•ˆ๋“œ๋กœ์ด๋“œ ๋‹จ๋ง์—์„œ ํ…Œ์ŠคํŠธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํŠนํžˆ, ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

<Push ๋ฐœ์†ก>

ํ…Œ์ŠคํŠธํ•˜์‹œ๋Š” ๋‹จ๋ง๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ๋„์ฐฉํ•˜์…จ๋‚˜์š”? ์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค.!!!

โ€ป ์ž˜ ์•ˆ๋˜์‹œ๋‚˜์š”? Push๊ฐ€ ์ •์ƒ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

Push๋ฅผ ํ™œ์„ฑํ™”๋ฅผ ํ•˜์‹œ๋ฉด, ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

  1. <CHECK!!> Google Play๊ฐ€ ์„ค์น˜๋œ ์‹ค์ œ ์•ˆ๋“œ๋กœ์ด๋“œ ๋‹จ๋ง์—์„œ ํ…Œ์ŠคํŠธํ•˜์…”์•ผํ•ฉ๋‹ˆ๋‹ค.
  2. baas.io ์‚ฌ์ดํŠธ ์ด๋™
  3. ๋กœ๊ทธ์ธ > My page ์ด๋™> Application ์„ ํƒ
  4. ์„ค์ • > ํ‘ธ์‹œ์ธ์ฆ์„œ ๊ด€๋ฆฌ
  5. <CHECK!!> Android API KEY ๋“ฑ๋ก๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
  6. <CHECK!!> ํ‘ธ์‹œ ์‚ฌ์šฉ ์„ค์ •์ด ์‚ฌ์šฉํ•จ์ธ์ง€ ํ™•์ธ
  7. ๋ฐ์ดํ„ฐ๋ธŒ๋ผ์šฐ์ € > Role ์„ ํƒ > guest ์„ ํƒ > Permission ํƒญ ์„ ํƒ
  8. <CHECK!!>"/devices" Create ์ฒดํฌ๋จ ํ™•์ธ(v0.8.1 ์ด์ „ ๋ฒ„์ „์€ "/pushes/devices")
  9. <CHECK!!>"/devices/*" Update, Delete ์ฒดํฌ๋จ ํ™•์ธ(v0.8.1 ์ด์ „ ๋ฒ„์ „์€ "/pushes/devices/*")
  10. ๋ฐ์ดํ„ฐ๋ธŒ๋ผ์šฐ์ € > Role ์„ ํƒ > default ์„ ํƒ > Permission ํƒญ ์„ ํƒ
  11. <CHECK!!>์„ค์ •๋œ Role์ด "/device" Create์™€ "/devices/*" Update, Delete๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ(v0.8.1 ์ด์ „ ๋ฒ„์ „์€ "/pushes/devices", "/pushes/devices/*")
  12. <CHECK!!>ํ”„๋กœ์ ํŠธ์˜ AndroidMenifest.xml ํŒŒ์ผ์„ ์—ด์–ด ์•„๋ž˜์™€ ๊ฐ™์ด package ๋ช…์ด ์ œ๋Œ€๋กœ ๋“ค์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
	<permission
   		android:name="{package๋ช…}.permission.C2D_MESSAGE"
        android:protectionLevel="signature" /> 
	...
	<receiver
        android:name="{package๋ช…}.gcm.GCMRedirectedBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <!-- Receives the registration id. -->
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="{package๋ช…}" />
        </intent-filter>
    </receiver>
	...
	<service android:name="{package๋ช…}.gcm.GCMIntentService" />

<์ฃผ> Role๊ด€๋ จ๋ถ€๋ถ„์€ ์—ญํ• ๊ณผ ๊ถŒํ•œ์„ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.


์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค.!!

์ด์ œ ๋ชจ๋“  ์„ค์ •์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ข€๋” ์„ธ์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ํ™•์ธ๋ฐ”๋ž๋‹ˆ๋‹ค.

Clone this wiki locally