billcorea.com
빌코리아의 홈페이지 입니다.
2026/03/24
오늘의 이야기
#스하리1000명프로젝트
스치니들!
내가 만든 이 앱은, 내 폰에 오는 알림 중에서 중요한 키워드가 있는 경우
등록해둔 친구에게 자동으로 전달해주는 앱이야 📲
예를 들어, 카드 결제 알림을 와이프나 자녀에게 보내주거나
이번 달 지출을 달력처럼 확인할 수도 있어!
앱을 함께 쓰려면 친구도 설치 & 로그인해줘야 해.
그래야 친구 목록에서 서로 선택할 수 있으니까~
서로 써보고 불편한 점 있으면 알려줘 🙏
👉 https://play.google.com/store/apps/details?id=com.nari.notify2kakao
오늘의 이야기

오늘 이야기는 저 이미지와 같이 읽어 정보를 이용해서 해당 게시 홈페이지의 글들 중에서 최신 글을 찾아 열어 볼 수 있는 기능 구현 이야기를 이어 보겠습니다.
먼저 gradle 파일에 jsoup 사용을 위해 추가합니다. python에서는 beautifulsoup 같이 html 문서의 파싱을 등을 할 수 있습니다.
// jsoup
implementation 'org.jsoup:jsoup:1.16.1'
url 정보를 받아 왔다면 이제 그 페이지를 열어서 받아온 html 문서의 내용에서 최신글을 번호를 확인해 볼 수 있는 기능 구현 코드를 보겠습니다.
var newUrl = "여기에 다가 게시자의 티스토리 블로그 URL 을 넣어 줍니다."
CoroutineScope(Dispatchers.IO).launch {
try {
val doc = Jsoup.connect(url).get()
// val document = Jsoup.parse(doc.html().trimIndent())
var detailTitleLinks = doc.select("div.detail a.title.link.link-primary")
if (detailTitleLinks.isEmpty()) {
detailTitleLinks = doc.select("div.article-content a.link-article")
}
if (detailTitleLinks.isEmpty()) {
detailTitleLinks = doc.select("div.list_content a.thumbnail_post")
}
if (detailTitleLinks.isEmpty()) {
detailTitleLinks = doc.select("div.post-item")
}
if (detailTitleLinks.isEmpty()) {
detailTitleLinks = doc.select("div.posts li a")
}
if (detailTitleLinks.isEmpty()) {
Log.e("", "doc = $doc")
}
for (link in detailTitleLinks) {
var detailHref = link.attr("href")
if (detailHref.isEmpty()) {
detailHref = link.selectFirst("a")?.attr("href").toString()
}
Log.e("", "Detail Href: $detailHref")
if (detailHref.isNotBlank()) {
newUrl = "$url/m$detailHref"
break
}
}
Log.e("", "newUrl = $newUrl")
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(newUrl))
startActivity(intent)
} catch (e : Exception) {
Log.e("", "error = ${e.localizedMessage}")
}
}위 예시 코드와 같은 함수를 하나 만들어 두면 됩니다.그럼 최신글 번호를 찾아서 바로 열어 줍니다. 이렇게 구분을 여러 가지로 해 보는 것은 티스토리 페이지가 스킨에 따라 달라지는 부분들이 있기 때문입니다.
이제 다음으로 넘어가 봐야 할 텐데... 잘 될지는 모르겠습니다.

오늘의 이야기

94년8월에도
23년 8월에도
난 서울로 향한다.
그곳에서의 생활이 궁금해 하면서...
94년엔 친구들이 서울에 있었다면
23년엔 서울에 딸이 산다.
어떤 일이 날 기다리는 가?
어떤 날들이 날 기다리는 가?
새로운 생활을 시작해 보는 거다.
오늘의 이야기
#스하리1000명프로젝트,
A veces es difícil hablar con trabajadores extranjeros, ¿verdad?
¡Hice una aplicación sencilla que ayuda! Escribes en tu idioma y los demás lo ven en el suyo.
Se traduce automáticamente según la configuración.
Súper útil para chatear fácilmente. ¡Echa un vistazo cuando tengas la oportunidad!
https://play.google.com/store/apps/details?id=com.billcoreatech.multichat416
오늘의 이야기
이번주는 유난히도 날씨가 오락 가락 하는 한 주였던 거 같습니다. 오늘은 비가 무진장 내린 후 바다를 바라보다가 저 멀리 보길도 끝 무렵의 섬들이 보이는 것을 알게 되어 갤럭시 23 울트라의 줌 사진 비교를 한 번 올려 볼까 합니다.
1배

30배 줌

70배

100 배 중

1배 기본 사진에서 이 섬을 찾아 보세요... 보이시나요? 그 옆으로 보이는 섬들이 보길도 등등의 섬들이지 않을까 싶습니다. 100배 줌으로 보이는 섬은 대관탈도라는 섬으로 인식되기는 합니다. 제주에서 추자도를 바라보면 중간에 있는 섬입니다. 대략 거래는 30Km 정도 되는 것으로 보이는데 이 정도의 Zoom이라면... 어떨까요?
날이 이제 가을로 넘어 갈 듯합니다. 아직도 덥기는 하지만요... 행복한 주말 보내세요.

오늘의 이야기
오늘은 새로운 댓글이 달리는 것들을 하나씩 열어 보는데 힘들어하는 나를 위해서 앱을 하나 구현해 볼까 합니다. 최종적으로는 댓글에 대한 답글로 자동화해 보는 것이 바람입니다. ㅋ~ (이런 건 그다지 좋아라 하지 않으시기는 하던데 뭐...)
댓글 달기가 본업(?)이 아닌지라... python 으로는 여러 가지 공부를 해 보기는 했으나, 이번에 kotlin 코드를 작성해 보았습니다.
그래 들 설정 추가 하기
// jsoup
implementation 'org.jsoup:jsoup:1.16.1'python에서 사용했던 Betifulsoup 가 비슷한 라이브러리가 있음을 알게 되었습니다. 저걸 build gradle 파일에 추가합니다.
// coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3"이것들은 async 처리를 하기 위해서는 필요합니다. async 보다는 android 가 UI 가 활성화 되어 있는 경우 처리 지연이 발생하는 것을 그다지 좋게 보지 않기 때문에 지연처리를 할 수 있도록 한다고 보는 것이 이해가 쉬울 듯합니다.
이전 게시글 (파이썬으로 댓글 답 달기)
다음은 새 댓글을 읽어오는 부분을 구현해 보아야 하는데, 이전 글 하나를 잠깐 보고 오겠습니다.
https://billcorea.tistory.com/100
파이썬 으로 따라하는 자동화 스크립트 : 댓글에 답글 달기
오호라... 피트에 있는 글들에 글을 달기 시작했더니, 방문해 주시고 댓글도 달아주시고... 감사 감사... 이런걸 말로만 해서는 안되고 댓글에 또한 댓글로 인사를 해야 할 것 같앗 티스토리 API 을
billcorea.tistory.com
python 으로 게시물 댓글에 자동 답글을 다는 이야기를 적었던 부분인데, 예전에 기술했던 글이라 정리가 좀 미흡해 보이기는 합니다. 이제 필요한 것은 accessToken을 얻어야 하는 데, 이 부분이 번거로운 부분이 될 듯합니다. 그 이야기는 뒤에 다시 해 보도록 하겠습니다.
tistory API 인증 알아보기
accessToken 을 받기 위해서는 인증을 거쳐야 합니다. 저 python 예시 나와 있는 이런저런 코드에 대한 설명이 부족하여 보기는 힘들어 보이지만.
https://tistory.github.io/document-tistory-apis/auth/authorization_code.html
Authorization Code 방식 · GitBook
No results matching ""
tistory.github.io
그전에 앱 등록을 해야 합니다. https://www.tistory.com/guide/api/manage/register 에서 아래 그림과 같이 나오면 등록을 해 줍니다.


이렇게 등록해 주면 App ID, Secret Key을 얻게 됩니다.
먼저 아래 URL 을 만들어 크롬이나, 에지 등에서 검색을 해 봅니다.
https://www.tistory.com/oauth/authorize?client_id=&redirect_uri={1}&response_type=code&state=someValue여기서 {0} 에는 app ID 값으로 치환하고, {1}는 위에 등록한 callback 주소를 입력하면 됩니다. 잘 입력을 했다면 아래 그림처럼 권한 허가를 요구하는 페이지가 보일 겁니다.

잘 되었다면 아래 그림과 같이 다음 페이지로 돌아 옵니다. 이때 URL에 표시된 내용들 중에 code= 뒤에 따라오는 숫자를 복사해 두어야 합니다.

다음은 아래 코드와 같이 url 을 조립해야 합니다.
https://www.tistory.com/oauth/access_token?client_id={0}&client_secret={1}&redirect_uri={2}&code={3}&grant_type=authorization_code{0} 위에서 처럼 app id 을 넣고 {1] 위에서 확인되는 Secret Key 값을 넣습니다. {2} 에는 callback 주소로 치환하고 {3} 에는 방금 얻어온 code 뒤에 값을 채워 url을 만든 다음 크롬이나 에지 등에 입력하면 accessToken을 얻을 수 있습니다.
새로운 댓글 목록 받아 오기
이제 API 가이드를 보면서 댓글 목록을 받아 오겠습니다. REST API 을 호출하도록 하고 있어서 저는 retrofit을 이용해서 해 보고자 합니다.
// retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
gradle 파일에 최근 버전으로 추가 했습니다. 그리고 API 호출을 위해서 코드 하나를 작성했습니다.
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import okhttp3.OkHttpClient
import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.Converter
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.http.GET
import retrofit2.http.Headers
import retrofit2.http.Query
import java.lang.reflect.Type
interface RetrofitAPI {
@Headers("Content-Type: application/json;charset=UTF-8")
@GET("comment/newest")
fun doGetNewest(
@Query("access_token") accessToken : String,
@Query("output") output : String,
@Query("blogName") blogName : String,
@Query("page") page : Int,
@Query("count") count : Int,
): Call<NewestResponseMain>
companion object {
private const val baseURL = "https://www.tistory.com/apis/"
private val client = OkHttpClient.Builder().build()
private val gson : Gson = GsonBuilder().setLenient().create()
private val nullOnEmptyConverterFactory = object : Converter.Factory() {
fun converterFactory() = this
override fun responseBodyConverter(type: Type, annotations: Array<out Annotation>, retrofit: Retrofit) = object :
Converter<ResponseBody, Any?> {
val nextResponseBodyConverter = retrofit.nextResponseBodyConverter<Any?>(converterFactory(), type, annotations)
override fun convert(value: ResponseBody) = if (value.contentLength() != 0L) {
try{
nextResponseBodyConverter.convert(value)
}catch (e:Exception){
e.printStackTrace()
null
}
} else{
null
}
}
}
fun create(): RetrofitAPI {
return Retrofit.Builder()
.baseUrl(baseURL)
.addConverterFactory(nullOnEmptyConverterFactory)
.addConverterFactory(GsonConverterFactory.create(gson))
.client(client)
.build()
.create(RetrofitAPI::class.java)
}
}
}그리고 데이터를 받아올 구조체 하나가 필요 합니다. 그래서 다음과 같이 만들었습니다.
data class NewestResponse(
val id : String, // 댓글 ID
val date : String, // 댓글 작성시간 timeStamp
val postId : String, // 작성된글 ID
val name : String, // 작성자
val homepage : String, // 작성자 홈페이지 주소
val comment : String, // 댓글 내용
val open : String, // Y 공개, N 비공개
val link : String,
)
data class NewestResponseMain(
val tistory : NewestItem
)
data class NewestItem(
val item : NewestComments
)
data class NewestComments(
val url : String,
val secondaryUrl : String,
val comments : ArrayList<NewestResponse>
)실제 호출에서는 NewestResponseMain 을 이용합니다. 사유는 API 가이드를 보면 json 응답 모양을 보고 만들었습니다.
아래 응답 예시를 보면 tistory 를 큰 block으로 해서 item 아래 comments 아래 comment을 들어가야 세부 목록을 볼 수 있습니다. 그래서 모양은 이렇게 구현했습니다.
응답값 예
{
"tistory":{
"status":"200",
"item":{
"url":"http://oauth.tistory.com",
"secondaryUrl":"",
"comments":{
"comment":[
{
"id":"8176926",
"date":"1303796900",
"postId":"4",
"name":"Tistory API",
"homepage":"http://oauth.tistory.com",
"comment":"비루한 글에 칭찬을 하시니 몸둘바를 모르.. 지 않아!",
"open":"Y"
},
{
"id":"8176923",
"date":"1303796801",
"postId":"4",
"name":"글쎄 요",
"homepage":"http://shesgone.com",
"comment":"제 홈에 와서 구경해보세요^_^",
"open":"N"
},
{
"id":"8176918",
"date":"1303796711",
"postId":"4",
"name":"지나다가",
"homepage":"http://someurl.com",
"comment":"좋은 글 감사합니다.",
"open":"Y"
}
]
}
}
}
}
이제 호출을 구현해 보겠습니다.
RetrofitAPI.create().doGetNewest(accessToken = accessToken, output = "json", blogName = "billcorea", page = pageIndex, count = 15)
.enqueue(object : Callback<NewestResponseMain> {
override fun onResponse(
call: Call<NewestResponseMain>,
response: Response<NewestResponseMain>
) {
if (response.code() == responseOk && response.body() != null) {
newests.clear()
for (item in response.body()?.tistory?.item?.comments!!) {
if (item.name != "Billcorea") {
newests.add(item)
}
}
Log.e("", "size = ${newests.size}")
} else {
Toast.makeText(context, context.getString(R.string.msgDoNotData), Toast.LENGTH_SHORT).show()
}
isActivie.value = false
}
override fun onFailure(call: Call<NewestResponseMain>, t: Throwable) {
Toast.makeText(context, context.getString(R.string.msgDoNotData, t.localizedMessage), Toast.LENGTH_SHORT).show()
}
})
output 은 json 타입으로 받아서 분석을 할 예정이라 json으로 기술되었으며, blogname 은 우리 블로그 URL의 prefix을 적어 둡니다. 이제 응답이 오면 어떻게 될까요?

이제 이 앱을 통해서 더 열심히(?) 찾아보도록 하겠습니다. 저기 URL 주소를 클릭하면 해당 블로그의 제일 마지막 게시글을 찾아서 이동합니다. (아직 개발 중이라 안 되는 페이지도 있을 수 있습니다. 블로그 마다 테마 설정에 따라 tag 값들이 달라지기 때문에 안되는 페이지는 하나씩 보완을 해야 할 것 같습니다.)
오늘의 이야기
#billcorea #운동동아리관리앱
🏸 Schneedle, ¡una aplicación imprescindible para los clubes de bádminton!
👉 Match Play: registra puntuaciones y encuentra oponentes 🎉
¡Perfecto para cualquier lugar, solo, con amigos o en un club! 🤝
Si te gusta el bádminton, definitivamente pruébalo.
Ir a la aplicación 👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay
오늘의 이야기

앱의 upload key을 분실했거나, 앱 서명에 문제가 있는 경우 그 조치는 위 설명에 따라 인증서를 다시 생성하여 올려 줍니다. 그리고 기다립니다. 48시간 동안이나 말입니다. (playstore 의 메뉴 중에서 앱 서명에 들어가시면 보실 수 있습니다. 다만, 개발자 계정의 관리자만 할 수 있습니다. 관리자에게서 권한을 위임 받아도 앱 서명 관리는 수정할 수 없습니다.)
그래도 어찌할 수 있는 방법이 없기는 합니다. 기다려 보겠습니다.
오늘의 이야기

이전에 게시했던 앱들 중에서 관리가 소홀한 앱들에 대한 경고 메일을 받았습니다. 이것들을 8.31까지 정리해야 한다고 합니다.

결국 playstore 가 요구 하는 게시 기준은 API 33 ( 안드로이드 13) 이상이 되어야 한다는 것입니다. 이제 이전 안드로이드 폰이 얼마나 되는지는 알 수 없으나, 더 이상은 게시를 할 수 없다는 이야기가 될 것 같습니다.


다행히도 기한 연장 요청을 받고 있다고 합니다. 그것도 11월 1일까지 3개월 정도 이기는 하지만 말입니다. 그래서 이번 주 내로 정리해서 API 수준으로 34로 진행해 볼 생각입니다.
다만, android studio 버전이나, gradle 버전에 따라 API 34 을 지정했을 경우 에러 표시가 되는 경우가 있습니다. 이런 때에는 다음과 같이 gradle 파일을 조정해 주시면 됩니다.
android {
compileSdk 34
namespace "com.bil.....511"
defaultConfig {
applicationId "com......p511"
minSdkVersion 26
//noinspection EditedTargetSdkVersion 검사 없음 편집된 대상 Sdk 버전
targetSdkVersion 34
versionCode 2
versionName "1.0.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
viewBinding {
enabled = true
}
}build 을 하다 보면 이런 메시지가 나오기는 합니다.
AGPBI: {"kind":"warning","text":"We recommend using a newer Android Gradle plugin to use compileSdk = 34\n\nThis Android Gradle plugin (8.1.0) was tested up to compileSdk = 33 (and compileSdkPreview = \"UpsideDownCakePrivacySandbox\").\n\nYou are strongly encouraged to update your project to use a newer\nAndroid Gradle plugin that has been tested with compileSdk = 34.\n\nIf you are already using the latest version of the Android Gradle plugin,\nyou may need to wait until a newer version with support for compileSdk = 34 is available.\n\nTo suppress this warning, add/update\n android.suppressUnsupportedCompileSdk=34\nto this project's gradle.properties.","sources":[{}]}
그래도 지금은 무시하고 넘어갑니다. 그래도 아직 발견 되는 오류는 없습니다. 개발에 사용하고 있는 android studio 버전은 다음과 같습니다.
Android Studio Giraffe | 2022.3.1
Build #AI-223.8836.35.2231.10406996, built on June 29, 2023
Runtime version: 17.0.6+0-b2043.56-10027231 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 8
Registry:
external.system.auto.import.disabled=true
debugger.new.tool.window.layout=true
ide.text.editor.with.preview.show.floating.toolbar=false
ide.instant.shutdown=false
ide.experimental.ui=true
Non-Bundled Plugins:
com.jetbrains.kmm (0.6.1(223)-18)
org.jetbrains.compose.desktop.ide (1.4.3)
이제 발등에 떨어진 불(?)을 끄기 위해 가 보겠습니다. 총총총...
오늘의 이야기
#스하리1000명프로젝트,
韓国で迷子になりましたか?韓国語が話せなくても、このアプリを使えば簡単に移動できます。
あなたの言語で話すだけで、翻訳、検索が行われ、結果があなたの言語で表示されます。
旅行者に最適!英語、日本語、中国語、ベトナム語などを含む 10 以上の言語をサポートします。
今すぐ試してみましょう!
https://play.google.com/store/apps/details?id=com.billcoreatech.opdgang1127
2026/03/23
오늘의 이야기
Hi Developers at Billcorea (빌코리아),
After a recent review, we've found an issue with your app, 리모트 페이 (결제도 공유가 되나요, 원격 결제) (com.billcoreatech.remotepayment0119). See below for more information about your app's status and how to correct the issue
(Billcorea(빌코리아)의 개발자 여러분, 안녕하세요.
최근 검토 결과, 원격 페이(결제도 공유가 된다면, 원격 결제)(com.billcoreatech.remotepayment0119) 앱에서 문제가 발견되었습니다. 앱 상태 및 문제 해결 방법에 대한 자세한 내용은 아래를 참조하세요.)
| Publishing status: Removed |
| Your app was removed from Google Play and won't be available to users until you submit a policy compliant update. |
게시 상태: 삭제됨
앱이 Google Play에서 삭제되었으며 정책을 준수하는 업데이트를 제출할 때까지 사용자가 사용할 수 없습니다.
Eligibility issues by versions (버전별 적격성 문제)
| App Bundle:9 | APK REQUIRES PROMINENT DISCLOSURE Your app is not compliant with the User Data and Mobile Unwanted Software policies. Your app is uploading users' File information without a prominent disclosure. As per Google Play's User Data policy, in cases where your app's access, collection, use, or sharing of personal and sensitive user data may not be within the reasonable expectation of the user of the product or feature in question, you must provide an in-app disclosure of your data access, collection, use, and sharing and seek affirmative user consent. Your use case requires a Prominent Disclosure in accordance with this policy. The in-app Prominent Disclosure:
Requests for user consent:
|
| App Bundle:9 | APK HAS A PRIVACY POLICY BUT IT IS NOT ADEQUATE
|
- APK는 명시적 공개가 필요합니다
앱이 사용자 데이터 및 원치 않는 모바일 소프트웨어 정책을 준수하지 않습니다. 앱이 명시적 공개 없이 사용자의 파일 정보를 업로드하고 있습니다.
Google Play의 사용자 데이터 정책에 따라 귀하의 앱이 개인적이고 민감한 사용자 데이터에 대한 액세스, 수집, 사용 또는 공유가 해당 제품 또는 기능 사용자의 합당한 기대 범위 내에 있지 않을 수 있는 경우 귀하는 다음을 제공해야 합니다. - 귀하의 데이터 액세스, 수집, 사용 및 공유에 대한 앱 공개 및 긍정적인 사용자 동의를 구합니다.
귀하의 사용 사례에는 이 정책에 따라 명시적 공개가 필요합니다.
인앱 명시적 공개:
앱에서 사용자 데이터를 수집, 사용 및 공유하는 방법을 포괄적으로 공개해야 합니다.
정책 요구 사항을 충족하려면 필요할 때 명시적 공개에 대해 다음 예시 언어 형식을 참조하는 것이 좋습니다. 대본}."
앱 자체 내에 있어야 하고 앱의 일반적인 사용 시 표시되어야 하며 사용자가 메뉴나 설정으로 이동할 필요가 없어야 합니다.
개인 정보 보호 정책 또는 서비스 약관에만 배치할 수 없습니다.
개인 및 민감한 사용자 데이터 수집과 관련되지 않은 다른 공개에 포함될 수 없습니다.
사용자 동의 요청:
명확하고 모호하지 않아야 합니다.
긍정적인 사용자 작업이 필요해야 합니다(예: 탭 하여 수락하거나 확인란을 선택).
공개에서 벗어나는 탐색(두드리기, 뒤로 또는 홈 버튼 누르기 포함)을 동의로 해석해서는 안 됩니다.
자동 해제 또는 만료 메시지를 사용자 동의를 얻는 수단으로 사용해서는 안 됩니다.
앱이 개인적이고 민감한 사용자 데이터를 수집하거나 액세스 하기 전에 사용자가 승인해야 합니다. - APK에는 개인정보 보호정책이 있지만 적절하지 않습니다.
Play Console의 개인정보처리방침
Play Console의 개인정보처리방침은 파일 수집을 공개하지 않습니다.
Play Console의 개인정보처리방침은 수집된 파일의 사용을 공개하지 않습니다.
개인 정보 보호 정책을 편집할 수 없는지 확인하십시오.
Play 배포 앱의 개인정보처리방침
귀하의 앱은 Play 배포 앱에 개인정보취급방침을 게시하지 않고 사용자의 파일 정보를 업로드하고 있습니다.

오늘은 이렇게 받은 앱의 게시 취소에 대한 조치 준비를 해야 할 것 같습니다. ~
구글은 개인정보 취급에 대한 상당한 요구사항을 가지고 있습니다. 그것이 뭐 틀렸거나, 잘못되었거나 하지는 않습니다. 개인정보의 보호는 앱을 게시하여야 하는 입장에서는 누구나 해야 하는 것이기 때문입니다.
playstore에서 받은 앱으로 인해 나의 개인정보가 어딘가로 흘러들어간다는 것을 좋아할 사람은 아무도 없으니까요.
이전 까지는 그냥 블로그 페이지에 있는 개인정보 링크를 연결해 주는 것만으로도 해소가 되었던 부분이 있다고 하면 이번에는 어떤 조치를 해 주어야 나의 앱을 게시해 줄까는 고민을 해 보아야 할 것 같습니다.
이 블로그 페이지 중에서도 개인정보 관리 지침으로 사용되는 게시물이 있기도 합니다. 그래야 온라인으로 관리를 할 수 있으니까요. 그런데 구글은 그것을 허용해 줄 것인가 하는 부분은 고민을 해 보아야 할 것 같습니다.
아무튼 정리가 되기를 바라 봅니다.
오늘도 행복한 하루 마무리 잘하시길 기원드립니다.
오늘의 이야기
#스하리1000명프로젝트 스치니들! 내가 만든 이 앱은, 내 폰에 오는 알림 중에서 중요한 키워드가 있는 경우 등록해둔 친구에게 자동으로 전달해주는 앱이야 📲 예를 들어, 카드 결제 알림을 와이프나 자녀에게 보내주거나 이번 달 지출을 달력처럼...