(ಅನ್) ಅಧಿಕೃತ Habr ಅಪ್ಲಿಕೇಶನ್ - HabrApp 2.0: ಪ್ರವೇಶವನ್ನು ಪಡೆಯುತ್ತಿದೆ
ಒಂದು ಕ್ಷೀಣ ಮತ್ತು ಈಗಾಗಲೇ ಸಾಕಷ್ಟು ನೀರಸ ಸಂಜೆ, ನಾನು, ಮೂಲಕ ಎಲೆಗಳು ಅಧಿಕೃತ Habr ಅಪ್ಲಿಕೇಶನ್, ಮತ್ತೊಮ್ಮೆ ನಾನು ನನ್ನ ಬೆರಳುಗಳನ್ನು ಬಾಗಿಸುತ್ತೇನೆ, ಪ್ರತಿ ಕೆಲಸ ಮಾಡದ ವೈಶಿಷ್ಟ್ಯಕ್ಕೆ ಒಂದು. ಇಲ್ಲಿ, ಉದಾಹರಣೆಗೆ, ನೀವು ಕಾಮೆಂಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಇಲ್ಲಿ ನಿಮಗೆ ಮತದಾನದ ಹಕ್ಕನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ, ಪರದೆಯ ಮೇಲೆ ಸೂತ್ರಗಳು ಏಕೆ ಗೋಚರಿಸುವುದಿಲ್ಲ?
ಇದನ್ನು ನಿರ್ಧರಿಸಲಾಯಿತು: ನಮಗೆ ಆರಾಮದಾಯಕ, ಆಹ್ಲಾದಕರ, ನಮ್ಮದೇ ಆದ ಏನಾದರೂ ಬೇಕು. Habr ಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಅಪ್ಲಿಕೇಶನ್ ಬಗ್ಗೆ ಏನು?
ಪರಿಸ್ಥಿತಿಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಾನು ನಿಮಗೆ ಕೆಲವು ಸ್ಕ್ರೀನ್ಶಾಟ್ಗಳನ್ನು ನೀಡುತ್ತೇನೆ.
ಈ ರೀತಿ ಕಾಣುತ್ತದೆ ಇದು - ನ. habr.com ಅಪ್ಲಿಕೇಶನ್
"ಅನನುಕೂಲತೆಗಳ" ಪಟ್ಟಿ
ರೇಟಿಂಗ್ 0 ಗಿಂತ ಭಿನ್ನವಾಗಿರುವ ಪ್ರಕಾಶನವನ್ನು ನೀವು ರೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ
ಕಾಮೆಂಟ್ ಬರೆಯಲು ಯಾವಾಗಲೂ ಸಾಧ್ಯವಿಲ್ಲ
ಸಮೀಕ್ಷೆಗಳು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ
ಡಾರ್ಕ್ ಥೀಮ್ನಲ್ಲಿ ಸೂತ್ರಗಳು ಗೋಚರಿಸುವುದಿಲ್ಲ (ಕಪ್ಪು ಮೇಲೆ ಕಪ್ಪು)
ಎಲ್ಲಾ ಬುಕ್ಮಾರ್ಕ್ಗಳು ಲಭ್ಯವಿಲ್ಲ
ಹೌದು, ಕಳೆದ ವರ್ಷ ಆಗಸ್ಟ್ನಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನವೀಕರಿಸಲಾಗಿಲ್ಲ, ಆದರೆ ಅದು ಇನ್ನೂ ಕೆಟ್ಟದಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಅದನ್ನು ಸರಿಪಡಿಸಬೇಕಾಗಿದೆ.
ಭಾಗ ಒಂದು. ಪ್ರವೇಶಕ್ಕಾಗಿ ಹುಡುಕುತ್ತಿದ್ದೇವೆ.
ತ್ವರಿತ Google ಪ್ರಶ್ನೆ "habrahabr API" ಇದು ಈಗಾಗಲೇ ಸಾಕಷ್ಟು ಹಳೆಯದಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ ಭಂಡಾರ Github ನಲ್ಲಿ, ಅಂದಿನಿಂದ ನವೀಕರಿಸಲಾಗಿಲ್ಲ ನವೆಂಬರ್ 21 2016, ಮತ್ತು ಇದು, ಒಂದು ಕ್ಷಣ, ಎರಡೂವರೆ ವರ್ಷ.
ಇದು PHP ಎಂಬ ಅಂಶವನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ, ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ ಮತ್ತು ಓದಿ:
ಅಪ್ಲಿಕೇಶನ್ ಐಡಿ ಪಡೆಯಲಾಗುತ್ತಿದೆ
ಲಾಭ ಪಡೆಯುತ್ತಿದ್ದಾರೆ ಈ ರೂಪ Habrahabr ನಲ್ಲಿ, ನೀವು ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ನ ಸಾರವನ್ನು ಮತ್ತು ಅದಕ್ಕೆ API ಅಗತ್ಯವಿರುವ ಉದ್ದೇಶವನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿವರಿಸಬೇಕಾಗಿದೆ.
ಯಾವುದೇ ಪ್ರಶ್ನೆಯಿಲ್ಲ, ನೀವು ಪ್ರವೇಶವನ್ನು ಪಡೆಯಬೇಕಾದರೆ, ನಿಮಗೆ ಅದು ಬೇಕು. ನಾವು ಪತ್ರವನ್ನು ಬರೆಯುತ್ತೇವೆ (ಸಂಕ್ಷಿಪ್ತವಾಗಿ):
ಒಂದು ಪತ್ರ
PWA ಆಧಾರದ ಮೇಲೆ Habr ಗೆ ಅರ್ಜಿ ಸಲ್ಲಿಸುವ ಬಯಕೆ ಇದೆ. ಇದಕ್ಕೆ ಹಲವಾರು ಕಾರಣಗಳಿವೆ.
ಮೊದಲ ಮತ್ತು ಅತ್ಯಂತ ಸ್ಪಷ್ಟ: Android ಅಪ್ಲಿಕೇಶನ್ ನನ್ನ ವೈಯಕ್ತಿಕ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸುವುದಿಲ್ಲ.
ಎರಡನೆಯದು: ಸಾಮಾನ್ಯವಾಗಿ ಇಮೇಲ್ ಮೂಲಕ ಬರುವ ಎಲ್ಲಾ ರೀತಿಯ ವಿಷಯಗಳ ಬಗ್ಗೆ ಸಾಕಷ್ಟು ಸ್ಥಳೀಯ ಅಧಿಸೂಚನೆಗಳಿಲ್ಲ (ಉದಾಹರಣೆಗೆ ಕಾಮೆಂಟ್ಗಳು).
ಮೂರನೆಯದು: ನನ್ನ ಆಸಕ್ತಿಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು, ನನಗೆ ಆಸಕ್ತಿಯಿರುವ ಜನರು/ಹಬ್ಗಳ ಕುರಿತು ವೈಯಕ್ತಿಕ ಡೈಜೆಸ್ಟ್ಗಳು (ಒಂದು ದೃಷ್ಟಿಕೋನವಾಗಿ).
ಉತ್ತರವು ತುಂಬಾ ಆಹ್ಲಾದಕರವಾಗಿರಲಿಲ್ಲ, ಆದರೆ ಕನಿಷ್ಠ ಪ್ರಾಮಾಣಿಕವಾಗಿದೆ:
ದುರದೃಷ್ಟವಶಾತ್, ನಮ್ಮ API ಗೆ ಪ್ರವೇಶವು ಪ್ರಸ್ತುತ ಲಭ್ಯವಿಲ್ಲ. ನಾವು API ಅನ್ನು ಅಂತಿಮಗೊಳಿಸಿದ ನಂತರ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುವುದನ್ನು ಪುನರಾರಂಭಿಸಲು ನಾವು ಯೋಜಿಸುತ್ತೇವೆ, ಆದರೆ ನಾವು ಇನ್ನೂ ಯಾವುದೇ ನಿಖರವಾದ ದಿನಾಂಕಗಳನ್ನು ಹೊಂದಿಲ್ಲ, ಏಕೆಂದರೆ ನಾವು ಪ್ರಸ್ತುತ ಇತರ ಆದ್ಯತೆಯ ಕಾರ್ಯಗಳನ್ನು ಪರಿಹರಿಸುವಲ್ಲಿ ನಿರತರಾಗಿದ್ದೇವೆ.
"ಸರಿ, ಏನು ತೊಂದರೆಯಿಲ್ಲ! ನಾವು ಏನನ್ನಾದರೂ ತರುತ್ತೇವೆ!" - ನಾನೇ ಹೇಳಿಕೊಂಡು ನೋಡತೊಡಗಿದೆ.
ಭಾಗ ಎರಡು. ಆಳವಾದ ಉತ್ಖನನಗಳು.
ತರ್ಕದ ಆಧಾರದ ಮೇಲೆ, ಅಪ್ಲಿಕೇಶನ್ ಚಾಲನೆಯಲ್ಲಿದ್ದರೆ, ಅದು API ಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುತ್ತದೆ ಮತ್ತು ಅದು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹಾರ್ಡ್ವೈರ್ ಆಗಿದೆ. ವಿಶ್ಲೇಷಿಸೋಣ.
ನಾವು ಟ್ರಾಫಿಕ್ನೊಂದಿಗೆ ವ್ಯವಹರಿಸುತ್ತಿರುವುದರಿಂದ, ವೈರ್ಶಾರ್ಕ್ ನಮ್ಮ ಆಯ್ಕೆಯಾಗಿದೆ. ಕೆಲವು ನೋವುಗಳಿಲ್ಲದೆ, ಡೆಸ್ಕ್ಟಾಪ್ ಕಂಪ್ಯೂಟರ್ ಮೂಲಕ ಫೋನ್ ಅನ್ನು ಇಂಟರ್ನೆಟ್ಗೆ ಸಂಪರ್ಕಿಸಿದ ನಂತರ, ನಾವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ತೆರೆಯುತ್ತೇವೆ ಮತ್ತು ವಿನಂತಿಗಳನ್ನು ನೋಡುತ್ತೇವೆ:
ಏನೂ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ
ಹೌದು, ಎಲ್ಲವನ್ನೂ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಕ್ರಿಪ್ಟೋಗ್ರಫಿಯೊಂದಿಗೆ ಗೊಂದಲಗೊಳ್ಳಲು ನಾನು ಬಯಸುವುದಿಲ್ಲ. ನಂತರ ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಒಳಗೆ ನೋಡಬೇಕು.
ಡಿಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ ಸೇರಿಸಲಾಗಿದೆ apk, ನೋಡಲು ಪ್ರಾರಂಭಿಸೋಣ. ಯಾವುದೇ API ಗೆ ಏನು ಬೇಕು? ಬಲ, ಎಂಡ್ ಪಾಯಿಂಟ್, ಎಲ್ಲಾ ವಿನಂತಿಗಳು ಹೋಗುವ ಸ್ಥಳ. ಇದು ಬಹುಶಃ http(ಗಳು), "https://" ಅನ್ನು ಹುಡುಕಲು ಪ್ರಯತ್ನಿಸೋಣ:
ಇದು ಆಂಡ್ರಾಯ್ಡ್ ವರ್ಚುವಲ್ ಗಣಕಕ್ಕೆ ಕೋಡ್ ಆಗಿದೆ (ದಾಲ್ವಿಕ್ ವಿ.ಎಂ.), ಮನುಷ್ಯರಿಗೆ ಹೆಚ್ಚು ಅರ್ಥವಾಗುವುದಿಲ್ಲ, ಆದರೆ ಇನ್ನೂ ಸಾಕಷ್ಟು ತಿಳಿವಳಿಕೆ ಇದೆ. ಈ ಮೂರು ಸ್ಥಿರಾಂಕಗಳು, ಅವುಗಳ ವಿಷಯ ಮತ್ತು ಹೆಸರಿನ ಮೂಲಕ ನಿರ್ಣಯಿಸುವುದು, ಹಾಗೆಯೇ GitHub ರೆಪೊಸಿಟರಿ, ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರವೇಶ ಟೋಕನ್ ಅನ್ನು ವಿನಂತಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ GET.
ಮುಂದೆ ನೋಡೋಣ. ಹುಡುಕಾಟದಲ್ಲಿ ಮುಂದೆ ಬರುವ ಫೈಲ್ NetworkModule.smali:
const-string v0, "https://habr.com/api/v1/"
ಮತ್ತು ನಿಮ್ಮ ವಿನಂತಿಗಳೊಂದಿಗೆ ಹೋಗಬೇಕಾದ ಸ್ಥಳ ಇಲ್ಲಿದೆ!
ಸ್ವಯಂ-ಲಿಖಿತ ಕ್ಲೈಂಟ್ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು, ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಒಂದೇ ಒಂದು ವಿಷಯ ಉಳಿದಿದೆ - client_id, ಇದು ಹೆಚ್ಚಾಗಿ ಅಪ್ಲಿಕೇಶನ್ಗೆ ವಿಶಿಷ್ಟವಾದ ಗುರುತಿಸುವಿಕೆಯಾಗಿದೆ.
ಆದಾಗ್ಯೂ, ಮೂಲ ಕೋಡ್ನಲ್ಲಿ ಈ ಪಠ್ಯವನ್ನು ಹುಡುಕುವುದು ಸಂಬಂಧಿತ ಮಾಹಿತಿಯನ್ನು ಹುಡುಕಲು ಕಾರಣವಾಗಲಿಲ್ಲ...
ಆದರೆ ಇದ್ದಕ್ಕಿದ್ದಂತೆ ಒಂದು ಫೈಲ್ನಲ್ಲಿ ನನ್ನ ಕಣ್ಣುಗಳು ಕೆಲವು ಆಸಕ್ತಿದಾಯಕ ಸಾಲುಗಳನ್ನು ಸೆಳೆದವು:
ಇದು, ನೀವು ಅರ್ಥಮಾಡಿಕೊಂಡಂತೆ, ಲಾಗ್ ನಮೂದು. ಆದರೆ ಏನು ರೆಕಾರ್ಡಿಂಗ್?
ಭಾಗ ಮೂರು. ಇವು ದಾಖಲೆಗಳು!
ನಾವು ಉಪಯೋಗಿಸುತ್ತೀವಿ adb logcat ಅಪ್ಲಿಕೇಶನ್ ಲಾಗ್ಗಳನ್ನು ವೀಕ್ಷಿಸಲು.
ಅನಿರೀಕ್ಷಿತವಾಗಿ, ಲಾಗ್ಗಳು ನಿರೀಕ್ಷೆಗಿಂತ ಹೆಚ್ಚು ವಿವರವಾಗಿ ಹೊರಹೊಮ್ಮಿದವು.
ಇಲ್ಲಿ ನಮಗೆ ಬೇಕಾಗಿರುವುದು ಮಾತ್ರವಲ್ಲ client_idಆದರೆ ಟೋಕನ್ ಬಳಕೆದಾರ/ಅಪ್ಲಿಕೇಶನ್, ಮತ್ತು ಲಾಗಿನ್ ಮಾಡಿ и ಪಾಸ್ವರ್ಡ್ ಸ್ಪಷ್ಟ ಪಠ್ಯದಲ್ಲಿ!
ಕೆಲವು ಪಿತೂರಿ ಸಿದ್ಧಾಂತಗಳುಲಾಗ್ಗಳಲ್ಲಿ ಕೇವಲ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ನ ಉಪಸ್ಥಿತಿಯು ಯಾವುದಕ್ಕೂ ಹಾನಿ ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಈ ಲಾಗ್ಗಳನ್ನು ರೂಟ್ ಹಕ್ಕುಗಳು ಅಥವಾ ಮೂಲಕ ಸಂಪರ್ಕದೊಂದಿಗೆ ಮಾತ್ರ ಓದಬಹುದು adb. ಆದರೆ ಹ್ಯಾಬ್ರ್ ಅನ್ನು ಓದುವ ಜನರಲ್ಲಿ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ ಆಂಡ್ರಾಯ್ಡ್ ಡೆವಲಪರ್ಗಳು ಇದ್ದಾರೆ ಎಂಬ ಕಾರಣದಿಂದಾಗಿ, ಇದು ಸಮಸ್ಯೆಯಾಗುತ್ತದೆ.
ಈ ಸಂದರ್ಭದಲ್ಲಿ, ವಿಮಾನ ನಿಲ್ದಾಣದಲ್ಲಿ "ಉಚಿತ ಚಾರ್ಜಿಂಗ್" ಖಾತೆಯ ಕಳ್ಳತನಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು, ಆದರೆ ಯಾರಿಗೆ ಇದು ಬೇಕು?
ಈ ದಾಖಲೆಗಳಿಂದ ನಾವು ಹೊರತೆಗೆಯಬಹುದು:
client_id и apikeyಪ್ರವೇಶಿಸಲು ಅಗತ್ಯವಿದೆ API;
ಬಳಕೆದಾರ ದೃಢೀಕರಣ URL (ವಿಚಿತ್ರ, ಆದರೆ ಈ ವಿಧಾನದ ಬಗ್ಗೆ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಏನೂ ಇಲ್ಲ, ಬಹುಶಃ ಅದನ್ನು ಒದಗಿಸಲಾಗಿಲ್ಲವೇ?)
ಅದು ಹೇಗಾಯಿತು. ಈ ಸಣ್ಣ ಸಂಶೋಧನೆಯ ಆಧಾರದ ಮೇಲೆ, ಈಗಾಗಲೇ ಒಂದು ಸಣ್ಣ ಯೋಜನೆಯಲ್ಲಿ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ - ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ನ ನಮ್ಮ ಸ್ವಂತ ಅನುಷ್ಠಾನ. ಸಂದೇಶವನ್ನು ಬರೆಯಲು ಸಹಾಯ ಮಾಡಲು ಬಯಸುವವರಿಗೆ ಮತ್ತು ಉಳಿದವರೆಲ್ಲರಿಗೂ ಮತ ಹಾಕಲು ನಾನು ಕೇಳುತ್ತೇನೆ (ಯಾಕಂದರೆ ಯಾರಿಗಾದರೂ ಇದು ಅಗತ್ಯವಿದೆಯೇ ಎಂದು ನಾನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ).
ನಿಮ್ಮ ಗಮನಕ್ಕೆ ಧನ್ಯವಾದಗಳು!
ನೋಂದಾಯಿತ ಬಳಕೆದಾರರು ಮಾತ್ರ ಸಮೀಕ್ಷೆಯಲ್ಲಿ ಭಾಗವಹಿಸಬಹುದು. ಸೈನ್ ಇನ್ ಮಾಡಿ, ದಯವಿಟ್ಟು.
ನೀವು Habr ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸುತ್ತೀರಾ?
ಹೌದು, ನಾನು ಅದನ್ನು ಬಳಸುತ್ತೇನೆ, ನನಗೆ ಸಂತೋಷವಾಗಿದೆ
ಹೌದು, ನಾನು ಅದನ್ನು ಬಳಸುತ್ತೇನೆ, ಅಪ್ಲಿಕೇಶನ್ ಅನಾನುಕೂಲತೆಯನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ
ಇಲ್ಲ, ನಾನು ನನ್ನ ಫೋನ್ನಲ್ಲಿ ವೆಬ್ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುತ್ತೇನೆ
ಇಲ್ಲ, ನಾನು ನನ್ನ ಕಂಪ್ಯೂಟರ್ನಿಂದ Habr ಅನ್ನು ಬಳಸುತ್ತೇನೆ
357 ಬಳಕೆದಾರರು ಮತ ಹಾಕಿದ್ದಾರೆ. 30 ಬಳಕೆದಾರರು ದೂರ ಉಳಿದಿದ್ದಾರೆ.