Thursday, January 28, 2021

Android Dev Tips



Mobile Country Codes (MCC) are used in wireless telephone networks (GSM, CDMA, UMTS, etc.) in order to identify the country which a mobile subscriber belongs to. In order to uniquely identify a mobile subscribers network the MCC is combined with a Mobile Network Code (MNC).

https://android.stackexchange.com/questions/162448/difference-between-android-id-and-device-id

  • DeviceID: This is the serial of the device, which should persist even a factory reset.
  • AndroidID: This will be set at the first boot (either with a brand new device, or after a factory reset). As implicated, it does not survive a 
  • There's a second "Android_ID" which is generated and used by the Google Services Framework (GSF), and thus often referenced as "GSF ID". Behaves basically like the AndroidID mentioned before (e.g. doesn't survive a ), and co-exists with it.
  • Furthermore, there's the GAID (Google Advertising ID), which can be reset by the user via the Google Settings app.

During "normal operation" (i.e. as long as you not factory-reset your device or reset the GAID), all these IDs can be used to identify the device. When using multiple users (via user profiles) on a device, all except the DeviceID would even identify the user (profile).

To my knowledge, all those IDs are available across all Android versions (at least across those which are currently relevant, i.e. GB/2.3 and up). The last two obviously only if GApps are installed – so on devices running a Custom ROM without GApps, they might not exist.

https://en.wikipedia.org/wiki/Google_Cloud_Messaging

https://stackoverflow.com/questions/25526042/what-is-gcm-registration-id

A Registration ID is an identifier assigned by GCM to a single instance of a single application installed on an Android device. The device is assigned this identifier when it registers to Google Cloud Messaging. The GCM documentation doesn't specify what information is encoded in this identifier.

In some older Android versions (pre-4.0.4), a Google account is required to register to GCM.

If multiple users use the same app on the same device, they will be have the same registration ID, since GCM doesn't care about which user logs-in to the app. It's up to your server to determine which user is currently logged in to your app in a certain device, and based on that knowledge to deliver only relevant GCM messages to that device.

Tuesday, January 26, 2021

Archives



Previous    1  2  3  4  5  6  7  8    Next

February 2021
Google Pixel Tips and Tricks
Jokes && Riddles

January 2021
Android Dev Tips
Archives
System Design Interview
Page Not Found

December 2020
How to Handle Exception in Java

August 2020
Fixing Java Unchecked/Raw types error

July 2020
Youtube for kids
Kids Learning at Home

April 2020
Google Calendar Tips and Tricks

February 2020
Google Doc Tips
Java Stream Advanced Usage
Salesforce Tips

January 2020
Reduce Excessive Nesting
Java Collection Tips
Java Core Tips
Java Enum Tips
Guide to Google Spanner
Machine Learning
Android Messages Tips
Testing Best Practices
Java API Desgin
Guava Advanced Types
Android Bootloader Tips and Tricks
Linux Command History Trips
ImageMagick Tips and Hacks
Best Apps for Kids Education
Pdf Hacks
How to make video
Augmented Reality Apps
Google Assistant
Google Nest Hub Max

December 2019
Interview Googleyness
General Cognitive Ability Test / Problem Solving
lp - the Linux printing command

November 2019
Flutter

September 2019
Parameter order
Javadoc Best Practice
How to Reduce Data Usage

August 2019
A guide to ffmpeg
Autocomplete in bash
Java 8 Date and Time Best Practice
Code Readability
Java Futures
Difference between Array and Collection
IntelliJ Keyboard Shortcuts

July 2019
IntelliJ IDEA settings
LINUX CINNAMON FILE MANAGER (NEMO)
Safari Tips and Tricks
Tweak Mac Settings
Google Flogger
Linux Cinnamon Tips and Tricks
Introduction to Google AutoValue
Java Optional Tips and Tricks
Android Tips and tricks
Linux Commands Tips and Tricks
Git Tips and Tricks
Bash Basic Tips and Tricks
bashrc Tips and Tricks
Content Security Policy
Protocol Buffer Tips and Tricks
Linux Terminal Tips and Tricks
Chromebook Tips and Tricks
Google Bazel Tips and Tricks
Debian Tips and Tricks
Google Testing on the Toilet
Stackoverflow Tips and Tricks
Testing with Google Truth
Chrome OS Tips and Tricks
Customize Mac's Settings
Common Keyboard Shortcuts on Mac
Linux Small Bash Utilities
Mac Tools and Applications
Mac Finder Tips and Tricks
Mac Keyboard Shortcuts
Learning Python
CSS Tips and Tricks
Must Have Atom Packages
HomeBrew Tips and Tricks on Mac
Google Maps Tips and Tracks
Google Drive Tips and Tricks
Google Photo Tips and Tricks

June 2019
Java subList Tips
Markdown Tips and Tricks Part 2
Autoboxing and Unboxing in Java
Java Tips and Tricks
How to Avoid NullPointerException in Java
Alibaba Java Coding Guidelines
Gmail Tips and Tricks
YouTube Tips and Tricks
Improving Your Chrome Browsing Productivity with Vimium
Work Experience Intreview
How to Use KeyBoard Effectively
How to Be More Productive
Kubernetes Helm
Pandoc Tips and Tricks
How to Ask for help

May 2019
Tips on Google Blogger
SEO
Tips on iPhone
Productivity Tools
How to efficiently use fragmented time
Troubleshooting Practices 2
Linux Basic
Thread Dump Analysis

April 2019
eCommerce Misc
Design Amazon Product Page
OOD Interview Summary
Design Pattern Interview Summary
Eviction policy - Design Pattern
Translator - Airbnb
The Summarization Problem - hiredintech
Design Text Editor
Cell Architectures
linux find - OOD, Amazon
MapReduce - Summary
Facebook Chat Architecture
Hacking the Software Engineer Interview
Stream and Batch Processing Frameworks
EhCache
Big Data Algorithms and Data Structures
Skip List
CAP - Summary
Design Instagram
A Beginner's Guide To Scaling To 11 Million+ Users On Amazon's AWS
Harvard CS75 Web Development Lecture
System Design Interview Summary
Negotiation - salary
Java Interview Misc
Company - Google
Company - Facebook
Facebook Unicorn Architecture - Graph Search
Design Autocomplete

March 2019
Reverse Proxy
Site Reliability Engineering Book
Taming The Long Latency Tail - Handling sloe requests
LogStash Architecture
Linked FollowFeed - (ALT - Aggregator Leaf Tailer)
ALT - Aggregator Leaf Tailer
《打造FACEBOOK》读书笔记
Lucene-Solr Architecture
Object oriented design - part 1
Two Phase Commit
System Design Misc Part 4
Gossip
Cassandra Storage Format
Kubernetes Architecture
Lossy Counting
API Gateway

Previous    1  2  3  4  5  6  7  8    Next

Wednesday, January 20, 2021

System Design Interview




Archives

  • Archives

  • New Posts

  • Google Pixel Tips and Tricks
  • Jokes && Riddles
  • Android Dev Tips
  • Archives
  • Page Not Found
  • How to Handle Exception in Java
  • Fixing Java Unchecked/Raw types error
  • Youtube for kids
  • Kids Learning at Home
  • Google Calendar Tips and Tricks

  • Updated Posts

  • Security Misc
  • Protocol Buffer Tips and Tricks
  • C++ Misc
  • How to Name Things
  • IntelliJ Tips
  • Chrome Tips and Tricks
  • Guide to Google Spanner
  • Gmail Tips and Tricks
  • Salesforce Tips
  • Pdf Hacks
  • Google Assistant
  • Guava RateLimiter
  • Google Guice
  • GSON
  • Mockito Tips
  • Java 8 Date and Time Best Practice
  • Java Enum Tips
  • Linux Terminal Tips and Tricks
  • Linux Cinnamon Tips and Tricks
  • Google Doc Tips

  • System Design

  • Crack the System Design Interview
  • Design Delayed Job Scheduler
  • POI-GeoHash
  • Design Hit Counter - how to count number of requests in last second, minute and hour - Stack Overflow
  • Design a web crawler
  • Message Brokers
  • Introducing Dynomite - Making Non-Distributed Databases, Distributed
  • Develop an API Rate-limit Throttling Client
  • Design Post System
  • Design a chat server | Hello World
  • Yelp Architecture
  • Finding a needle in Haystack: Facebook’s photo storage
  • Design Key Value Store
  • How to design a tiny URL or URL shortener?
  • Kafka Internal Misc
  • Idempotency
  • How to design netflix
  • Lambda Architecture
  • Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications
  • SSTable + LSM tree - Cassandra + LevelDB
  • Database Partitioning
  • Understanding Dynamo
  • Facebook Architecture
  • Facebook Typeahead
  • Design a news feed system
  • The Uber software architecture
  • Facebook News Feed Social data at scale
  • Design Ticket Master
  • Cassandra
  • The Chubby lock service for loosely-coupled distributed systems
  • Google Borg
  • Eventual Consistency
  • How to Design a Trending Algorithm
  • Load Balancer
  • Instagram Architecture - Create a Photo Sharing App
  • AKF’s Most Commonly Adopted Architectural Principles
  • Asynchronous Programming
  • Actor Model
  • Generate unique sequence number using distributed system
  • Zookeeper Internal
  • Kafka in Practice
  • Google Spanner Architecture
  • Ad Exchange
  • Pinterest - Building a scalable/available/Smartt home feed
  • Design eCommerce Website
  • Fluent Interface - DSL
  • Command and Query Responsibility Segregation (CQRS) pattern
  • How to Design 12306 - 建设一个靠谱的火车票网上订购系统
  • How to Ace a Systems Design Interview
  • System Design Questions
  • Redis Internal
  • 秒杀系统设计
  • Designing Distributed System
  • 秒杀系统架构分析与实战
  • CDN(Content Delivery Network)
  • 订单系统中并发问题和锁机制的探讨
  • Designing Data-Intensive Applications
  • Database Replication
  • Memcached - Product Design
  • Learning Leveldb
  • Redis Publish Subscribe Model
  • System Design for Big Data [tinyurl]
  • Distributed BFS algorithms
  • Understanding Raft
  • Software Design Principals
  • Dapper, a Large-Scale Distributed Systems Tracing Infrastructure + Zipkin
  • Flickr Architecture - High Scalability
  • Distributed Rate Limter
  • Microservices Architecture
  • System Design for Big Data [Consistent Hashing]
  • Design the data structure for large social network | Runhe Tian Coding Practice
  • How to Prepare System Design - Misc
  • How to Build Recommendation System
  • How to prepare system design questions in a tech interview?
  • Visual Guide to NoSQL Systems
  • DynamoDB Internal
  • Cache Misc
  • System Design Misc Part 3
  • How To Design Google Docs
  • System Design Misc Part 2
  • Design a Cache
  • YouTube Architecture - High Scalability -
  • 分布式跟踪系统调研
  • Distributed systems for fun and profit
  • Notes on Distributed Systems for Young Bloods
  • Distributed Systems: An Algorithmic Approach
  • Distributed Systems - 走向分布式
  • System Design Misc
  • Apache Storm Architecture
  • Playlist Shuffle Algorithm
  • [NineChap System Design] Class 4.1: Crawler - Shuatiblog.com
  • [NineChap System Design] Class 3.2: Web Service - Shuatiblog.com
  • RAID Explained
  • Scalability Rules: 50 Principles for Scaling Web Sites
  • How to Build Robust Application
  • Microsoft Application Architecture Guide
  • Build APIs You Wont Hate
  • Scalability Principles
  • Distributed Application Techniques
  • Reactive Pattern
  • Product Architecture Misc
  • [Akamai] Global Distributed Content Delivery « Ashes of Time
  • Design a shopping cart
  • LIKE CODING: MJ [10] CanView Design
  • 几个大型网站的Feeds(Timeline)设计简单对比 - 推酷
  • Pull vs Push + Fan out vs Fan in
  • Articles About Product Architecture
  • Design Decisions for Scaling Your High Traffic Feeds - High Scalability -
  • Dynamo DB | miafish
  • Lamport & Vector Clocks | miafish
  • Stability: Retry pattern
  • Tell me about your system | Core Java Interview Questions
  • How to Prepare System Design Interview
  • Chord (peer-to-peer) - Distributed Protocol
  • Leader Election
  • 十道海量数据处理面试题与十个方法大总结 - 结构之法 算法之道 - 博客频道 - CSDN.NET
  • Design Interview Questions Miscs
  • Achieving Rapid Response Times in Large Online Services - Jeff Dean
  • Pavel's Blog: Finding The Median In Large Sets Of Numbers Split Across 1000 Servers
  • Hiredintech - How to Prepare System Design
  • Scalability for Dummies: Le Cloud Blog
  • checkcheckzz/system-design-interview
  • Designs, Lessons and Advice from Building Large Distributed Systems
  • How Twitter Stores 250 Million Tweets a Day Using MySQL - High Scalability -
  • Google Architecture - High Scalability -
  • 码农翻墙去美帝 ―― 系统设计准备 | ITint5
  • Pragmatic Programming Techniques: Scalable System Design
  • Scalability Rules: 50 Principles for Scaling Web Sites
  • Design an in-memory file system
  • Design a database with terabytes of data that supports efficient range queries | Runhe Tian Coding Practice
  • How to avoid getting into infinite loops when designing a web crawler | Runhe Tian Coding Practice
  • Tom White: Consistent Hashing
  • Design the Facebook news seed function
  • Design the Facebook timeline function
  • 董的博客 >> 系统设计面试题思路综述
  • System Design Interview Misc
  • 说说JavaEye网站架构 - System Design
  • 你会怎样设计铁道部购票网站?- System Design
  • 用户积分功能的设计 - System Design
  • 留心那些潜在的系统设计问题 - System Design
  • 实际技术选型的考虑因素 - Amazon AWS - System Design
  • 程序的库设计 - What guidelines should I follow while designing a library?
  • 读写模型整理笔记 -- Read Write Model
  • 附录D 系统设计 - 编程之法:面试和算法心得
  • 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索
  • 如何做系统设计的面试题
  • 文件分发系统 - Distribute Files - System Design Practice
  • DSP System - 竞价服务的预算控制模块
  • Lease 机制
  • How to Design Petrescue
  • Monday, January 4, 2021

    Page Not Found






    Sorry, the page you were looking for in this blog does not exist.

    Start exploring here:

    Will jump to archives after 10 seconds...


    Archives

  • Archives

  • New Posts

  • Google Pixel Tips and Tricks
  • Jokes && Riddles
  • Android Dev Tips
  • Archives
  • Page Not Found
  • How to Handle Exception in Java
  • Fixing Java Unchecked/Raw types error
  • Youtube for kids
  • Kids Learning at Home
  • Google Calendar Tips and Tricks

  • Updated Posts

  • Security Misc
  • Protocol Buffer Tips and Tricks
  • C++ Misc
  • How to Name Things
  • IntelliJ Tips
  • Chrome Tips and Tricks
  • Guide to Google Spanner
  • Gmail Tips and Tricks
  • Salesforce Tips
  • Pdf Hacks
  • Google Assistant
  • Guava RateLimiter
  • Google Guice
  • GSON

  • System Design

  • Crack the System Design Interview
  • Design Delayed Job Scheduler
  • POI-GeoHash
  • Design Hit Counter - how to count number of requests in last second, minute and hour - Stack Overflow
  • Design a web crawler
  • Message Brokers
  • Introducing Dynomite - Making Non-Distributed Databases, Distributed
  • Develop an API Rate-limit Throttling Client
  • Design Post System
  • Design a chat server | Hello World
  • Yelp Architecture
  • Finding a needle in Haystack: Facebook’s photo storage
  • Design Key Value Store
  • How to design a tiny URL or URL shortener?
  • Kafka Internal Misc
  • Idempotency
  • How to design netflix
  • Lambda Architecture
  • Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications
  • SSTable + LSM tree - Cassandra + LevelDB
  • Database Partitioning
  • Understanding Dynamo
  • Facebook Architecture
  • Facebook Typeahead
  • Design a news feed system
  • The Uber software architecture
  • Facebook News Feed Social data at scale
  • Design Ticket Master
  • Cassandra
  • The Chubby lock service for loosely-coupled distributed systems
  • Google Borg
  • Eventual Consistency
  • How to Design a Trending Algorithm
  • Load Balancer
  • Instagram Architecture - Create a Photo Sharing App
  • AKF’s Most Commonly Adopted Architectural Principles
  • Asynchronous Programming
  • Actor Model
  • Generate unique sequence number using distributed system
  • Zookeeper Internal
  • Kafka in Practice
  • Google Spanner Architecture
  • Ad Exchange
  • Pinterest - Building a scalable/available/Smartt home feed
  • Design eCommerce Website
  • Fluent Interface - DSL
  • Command and Query Responsibility Segregation (CQRS) pattern
  • How to Design 12306 - 建设一个靠谱的火车票网上订购系统
  • How to Ace a Systems Design Interview
  • System Design Questions
  • Redis Internal
  • 秒杀系统设计
  • Designing Distributed System
  • 秒杀系统架构分析与实战
  • CDN(Content Delivery Network)
  • 订单系统中并发问题和锁机制的探讨
  • Designing Data-Intensive Applications
  • Database Replication
  • Memcached - Product Design
  • Learning Leveldb
  • Redis Publish Subscribe Model
  • System Design for Big Data [tinyurl]
  • Distributed BFS algorithms
  • Understanding Raft
  • Software Design Principals
  • Dapper, a Large-Scale Distributed Systems Tracing Infrastructure + Zipkin
  • Flickr Architecture - High Scalability
  • Distributed Rate Limter
  • Microservices Architecture
  • System Design for Big Data [Consistent Hashing]
  • Design the data structure for large social network | Runhe Tian Coding Practice
  • How to Prepare System Design - Misc
  • How to Build Recommendation System
  • How to prepare system design questions in a tech interview?
  • Visual Guide to NoSQL Systems
  • DynamoDB Internal
  • Cache Misc
  • System Design Misc Part 3
  • How To Design Google Docs
  • System Design Misc Part 2
  • Design a Cache
  • YouTube Architecture - High Scalability -
  • 分布式跟踪系统调研
  • Distributed systems for fun and profit
  • Notes on Distributed Systems for Young Bloods
  • Distributed Systems: An Algorithmic Approach
  • Distributed Systems - 走向分布式
  • System Design Misc
  • Apache Storm Architecture
  • Playlist Shuffle Algorithm
  • [NineChap System Design] Class 4.1: Crawler - Shuatiblog.com
  • [NineChap System Design] Class 3.2: Web Service - Shuatiblog.com
  • RAID Explained
  • Scalability Rules: 50 Principles for Scaling Web Sites
  • How to Build Robust Application
  • Microsoft Application Architecture Guide
  • Build APIs You Wont Hate
  • Scalability Principles
  • Distributed Application Techniques
  • Reactive Pattern
  • Product Architecture Misc
  • [Akamai] Global Distributed Content Delivery « Ashes of Time
  • Design a shopping cart
  • LIKE CODING: MJ [10] CanView Design
  • 几个大型网站的Feeds(Timeline)设计简单对比 - 推酷
  • Pull vs Push + Fan out vs Fan in
  • Articles About Product Architecture
  • Design Decisions for Scaling Your High Traffic Feeds - High Scalability -
  • Dynamo DB | miafish
  • Lamport & Vector Clocks | miafish
  • Stability: Retry pattern
  • Tell me about your system | Core Java Interview Questions
  • How to Prepare System Design Interview
  • Chord (peer-to-peer) - Distributed Protocol
  • Leader Election
  • 十道海量数据处理面试题与十个方法大总结 - 结构之法 算法之道 - 博客频道 - CSDN.NET
  • Design Interview Questions Miscs
  • Achieving Rapid Response Times in Large Online Services - Jeff Dean
  • Pavel's Blog: Finding The Median In Large Sets Of Numbers Split Across 1000 Servers
  • Hiredintech - How to Prepare System Design
  • Scalability for Dummies: Le Cloud Blog
  • checkcheckzz/system-design-interview
  • Designs, Lessons and Advice from Building Large Distributed Systems
  • How Twitter Stores 250 Million Tweets a Day Using MySQL - High Scalability -
  • Google Architecture - High Scalability -
  • 码农翻墙去美帝 ―― 系统设计准备 | ITint5
  • Pragmatic Programming Techniques: Scalable System Design
  • Scalability Rules: 50 Principles for Scaling Web Sites
  • Design an in-memory file system
  • Design a database with terabytes of data that supports efficient range queries | Runhe Tian Coding Practice
  • How to avoid getting into infinite loops when designing a web crawler | Runhe Tian Coding Practice
  • Tom White: Consistent Hashing
  • Design the Facebook news seed function
  • Design the Facebook timeline function
  • 董的博客 >> 系统设计面试题思路综述
  • System Design Interview Misc
  • 说说JavaEye网站架构 - System Design
  • 你会怎样设计铁道部购票网站?- System Design
  • 用户积分功能的设计 - System Design
  • 留心那些潜在的系统设计问题 - System Design
  • 实际技术选型的考虑因素 - Amazon AWS - System Design
  • 程序的库设计 - What guidelines should I follow while designing a library?
  • 读写模型整理笔记 -- Read Write Model
  • 附录D 系统设计 - 编程之法:面试和算法心得
  • 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索
  • 如何做系统设计的面试题
  • 文件分发系统 - Distribute Files - System Design Practice
  • DSP System - 竞价服务的预算控制模块
  • Lease 机制
  • How to Design Petrescue
  • Labels

    Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

    Popular Posts