Reddit இன் iOS ஆப்ஸ் அனுபவமானது வலைப் பதிப்பை விட சிறப்பாக இருப்பதைக் கண்டேன், எனவே இது எவ்வாறு டேட்டாவை மிக வேகமாக ஏற்றுகிறது என்பதைச் சரிபார்க்க நினைத்தேன். Reddit இன் iOS செயலியின் கிழிசல் இதோ.
இதோ சில சிறப்பம்சங்கள்:
API அழைப்புகளின் விரிவான கிழிப்பு இங்கே உள்ளது. Reddit இன் iOS பயன்பாட்டை இடைமறிக்க நான் Requestly இன் டெஸ்க்டாப் பயன்பாட்டைப் பயன்படுத்தினேன், அமைவு வழிமுறைகள் இங்கே வழங்கப்பட்டுள்ளன.
Reddit App உடன் உருவாக்கப்பட்டது
எனக்கு இருந்த முக்கிய கேள்வி என்னவென்றால், இந்த ஆப்ஸ் எப்படி வேகமாக செயல்படுகிறது என்பதுதான் FeedPostDetailsByIds API இன் பதிலைச் சரிபார்த்ததில் பதில் கிடைத்தது. இந்த ஏபிஐ முகப்புத் திரையில் காட்டப்படும் இடுகைகளின் ஐடிகளுடன் அழைக்கப்படுகிறது மற்றும் இடுகையைக் கிளிக் செய்த பிறகு காட்டப்படும் விரிவான தகவலுடன் வருகிறது. உயர்மட்ட இடுகைகளின் இந்த முன் ஏற்றுதல், எந்த ஏற்றியும் இல்லாமல் இடுகை விவரங்கள் திரையை உடனடியாகக் காண்பிக்க உதவியது.
GraphQL வினவல்கள் தேவையான பதிலின் தரவு மற்றும் கட்டமைப்பைக் கொண்டிருக்கும். செயல்பாட்டின் பெயர் பொதுவாக விருப்பமானது. பெரும்பாலான Reddit APIகள் வினவல்களில் செயல்பாட்டுப் பெயர்களை மட்டுமே கொண்டுள்ளன மற்றும் சூடான மற்றும் சமீபத்திய இடுகை விருப்பங்களுடன் ஊட்டம் போன்ற திரையில் மாறிகள்/வடிப்பான்கள் இருக்கும்போது மட்டுமே மாறிகள் கிடைக்கும்.
இது ஃப்ரண்டென்ட் டெவலப்பர்களுக்கு சுதந்திரமாக மாற்றங்களைச் செய்வதற்குக் குறைவான கட்டுப்பாட்டை அளிக்கிறது, ஆனால் அதன் அனைத்து பயனர் எதிர்கொள்ளும் APIக்குப் பிறகு தேவையற்ற தரவைப் பெற APIகளின் தவறான பயன்பாடு மீது அதிக கட்டுப்பாட்டை வழங்குகிறது.
சொந்த iOS பயன்பாடுகளில் சோதனைகளை இயக்குவது கடினம், சோதனைகளை இயக்க அல்லது முடக்க மறு-பயன்பாடுகள் தேவை, ஆனால் Reddit சோதனைகளை தொலைவிலிருந்து கட்டுப்படுத்தும் வகையில் பயன்பாட்டை அமைத்துள்ளது. அனைத்து சோதனைகளும் அவற்றின் மதிப்புகள் மற்றும் நிலைகளுடன் API இல் ஏற்றப்படுகின்றன. ஆப்ஸ் அது ஒதுக்கப்பட்ட பரிசோதனையின் மாறுபாட்டை தானாகவே செயல்படுத்துகிறது.
பல பயனர்கள், சோதனைகள் மற்றும் அம்சங்கள் இருப்பதால், அவற்றை தொலைவிலிருந்து கட்டுப்படுத்துவது நல்லது. Reddit இந்த அம்சங்களை ரிமோட் மூலம் கட்டுப்படுத்தும் ஒரு சிறந்த வேலை செய்கிறது.
பயன்பாட்டின் ஒவ்வொரு வெளியீட்டின் போதும், 400+ உள்ளமைவு மாறிகளை ஏற்றுவதற்கு உள்ளமைவு API ஐ அழைக்கும். இந்த மாறிகளின் அடிப்படையில் இது பல்வேறு அம்சங்களையும் அம்சங்களின் மாறுபாடுகளையும் காட்டுகிறது.
GetTopKarmaSubreddits
என்ற செயல்பாட்டுப் பெயருடன் API ஆனது, ஒவ்வொன்றிலும் பெறப்பட்ட கர்மா புள்ளிகளுடன் சிறந்த சப்ரெடிட்களின் பட்டியலைப் பெறுகிறது. ஒவ்வொரு துணை-ரெடிட்டிலும் எங்கள் செயல்பாட்டிலிருந்து எத்தனை கருத்துகள் மற்றும் இடுகை கர்மாவைப் பெற்றுள்ளோம் என்பதை இந்த API வெளிப்படுத்துகிறது. Reddit இன் வலை மற்றும் மொபைல் UI இல் இந்தத் தகவலை என்னால் கண்டுபிடிக்க முடியவில்லை.
அது எந்த வகையான தரவைக் கொண்டுவருகிறது என்பதைக் கண்டறிய APIகளைப் படிக்கும் போது, SubredditFeedElements
API தேர்ந்தெடுக்கப்பட்ட சப்-ரெடிட்டின் ஊட்டத்தை ஏற்றுவதைக் கண்டேன், ஆனால் ஒவ்வொரு இடுகையிலும், அது விரிவான துணை-ரெடிட் தகவலின் உள்ளமைக்கப்பட்ட JSON ஐக் கொண்டுள்ளது. இந்தத் தகவல் தேவையற்றது மற்றும் API இன் நெட்வொர்க் சுமையைக் குறைக்கவும் அதன் செயல்திறனை மேலும் மேம்படுத்தவும் அகற்றலாம்.
குறிப்பு: SubredditFeedElements
API இப்போது SubredditFeedSdui
API ஆல் மாற்றப்பட்டு சிக்கல் சரி செய்யப்பட்டது.
API களில் இருந்து சில நுண்ணறிவுகளைப் பெற ChatGPT ஐப் பயன்படுத்த முயற்சித்தேன். எனவே அனைத்து API களுடன் அவற்றின் சுருட்டை மற்றும் அவற்றின் பதில்களுடன் ஒரு கோப்பை உருவாக்கியது. இந்தக் கோப்பை CustomGPTக்கு பதிவேற்றினேன், அதனால் நான் எந்த வகையான வினவலையும் வைக்க முடியும். இது ஒரு API எந்த வகையான பயன்பாடு மற்றும் பதிலின் அமைப்பு போன்ற தெளிவான சில நுண்ணறிவுகளை அளித்தது, ஆனால் அது நிறைய மாயையை ஏற்படுத்தியது, பெரும்பாலும் ஏபிஐகளின் காரணமாக இருக்கலாம் அல்லது நான் தூண்டுவதில் நிபுணன் இல்லை. AI வழங்கிய சில நுண்ணறிவுகள்:
GetAllExperimentVariants
API — பல சோதனைகள் குறிப்பிட்ட "வேறுபட்ட" பெயர்களைக் கொண்டுள்ளன, இதில் enabled
, variant_1
, control_model
, மற்றும் one_feed_ph_bridge_new_users
போன்ற விருப்பங்கள் அடங்கும். Reddit குறிப்பிட்ட பயனர் பிரிவுகளில் அம்சங்களை அவற்றின் தாக்கத்தை தீர்மானிக்க சோதனை செய்வதாக இந்தப் பிரிவு தெரிவிக்கிறது. எடுத்துக்காட்டாக, d2x_avatar_in_comments_loggedin
சோதனையானது loggedin
மற்றும் loggedout
ஆகிய இரண்டு வகைகளைக் கொண்டுள்ளது, இது பயனர் அங்கீகார நிலையின் அடிப்படையில் அம்சத்தை சோதிக்கும்.GetAllExperimentVariants
API — சோதனைகளில் hybrid_video_rollout_android_v2
, active_sales
மற்றும் gql_google_maps_integration
ஆகியவை அடங்கும், இவை வீடியோ செயல்பாடு, விளம்பர இடங்கள், பயனர் இடைமுக மேம்பாடுகள் மற்றும் மூன்றாம் தரப்பு ஒருங்கிணைப்புகளை உள்ளடக்கிய பரந்த அளவிலான அம்ச சோதனைகளை சுட்டிக்காட்டுகின்றன.GetAccountDetails
API — API பதிலில் பயனரின் கணக்கு நிலையை விவரிக்கும் பல்வேறு துறைகள் உள்ளன, அதாவது isSubredditCreationAllowed
, isNameEditable
, isPasswordSet
, மற்றும் பயனரின் மதிப்பீட்டாளர் நிலை. கூடுதலாக, அதில் suspensionExpiresAt
மற்றும் isSuspended
ஆகியவை அடங்கும், இது ஒரு கணக்கு தற்போது இடைநிறுத்தப்பட்டதா அல்லது கட்டுப்படுத்தப்பட்டதா என்பதைக் குறிக்கிறது.Reddit எவ்வாறு செயல்படுகிறது என்பதைப் புரிந்துகொள்ள நான் படித்த GraphQL APIகளின் பட்டியல் உள்ளது. அங்கீகரிப்பு, அறிக்கையிடல் போன்ற வேறு சில APIகளும் இருந்தன. நான் அவற்றை இந்தப் பட்டியலில் சேர்க்கவில்லை.
திரை | GraphQL API | விளக்கம் |
---|---|---|
வீடு | GetAllDynamicConfigs | பயன்பாட்டின் வெவ்வேறு அம்சங்கள் செயல்படும் அடிப்படையில் 400+ கட்டமைப்பு அளவுருக்களை ஏற்றுகிறது. JSON, float, string போன்றவையாக இருக்கக்கூடிய மதிப்பின் வகையுடன் வழக்கமான முக்கிய மதிப்பு வடிவத்தில் உள்ளமைவு உள்ளது. |
| GetAllExperimentVariants | சாதனம் மற்றும் பயன்பாட்டின் பதிப்பிற்கான சோதனைகளை ஒதுக்குவதற்கான பயன்பாடு மற்றும் சாதனம் பற்றிய தகவல் கோரிக்கையில் உள்ளது. பதிலில் ஐடி, பரிசோதனைப் பெயர், பதிப்பு & நிலை ஆகியவற்றுடன் அனைத்து சோதனைகளின் பட்டியல் உள்ளது. |
| கணக்கு பெறவும் | உள்நுழைந்த பயனரின் அனைத்து விவரங்களையும் ஏற்றுகிறது. |
| HomeFeedSdui | முகப்புப்பக்கத்தில் காட்ட குறைந்தபட்ச விவரங்களுடன் முதல் சில இடுகைகளை ஏற்றுகிறது. |
| FeedPostDetailsByIds | ஒரு பயனர் இடுகையைக் கிளிக் செய்தால், எல்லா விவரங்களுடனும் ஐடிகளைப் பயன்படுத்தி இடுகைகளை முன்கூட்டியே ஏற்றுகிறது. |
| DiscoverBar பரிந்துரைகள் | பார் தரவைக் கண்டறியவும். |
| பயனர் பிரீமியம் சந்தா | பயனர் பிரீமியம் சந்தா தொடர்பான தரவு |
| GetUserAdEligibility | பயனரின் விளம்பரத் தகுதி மற்றும் விருப்பத்தேர்வுகளைப் பெறுகிறது. |
| பேட்ஜ்கவுண்ட்ஸ் | பயனர் பெற்ற பேட்ஜ்கள் பற்றிய தகவல். |
| | |
சப்ரெடிட் பக்கம் | SubredditChannels | விளக்கம், சின்னங்கள், கவுண்டர்கள், அனுமதிக்கப்பட்ட இடுகை வகைகள் மற்றும் வண்ணங்கள் போன்ற சமூகத்தைப் பற்றிய அனைத்து அடிப்படை விவரங்களையும் ஏற்றுகிறது. |
| SubredditTaxonomyTopics | சமூகத்தின் வகையையும் காட்சி உரையையும் ஏற்றுகிறது. |
| அழைப்பு நிலுவையில் உள்ளது | பெயர் குறிப்பிடுவது போல, நிலுவையில் உள்ள அழைப்பைச் சரிபார்க்கவும், ஆனால் எந்த அழைப்பை சரியாகச் செய்ய வேண்டும் என்று தெரியவில்லை. |
| SubredditChannels | சப்-ரெடிட்டின் அரட்டை சேனல்களை ஏற்றுகிறது, நான் பல சப்ரெடிட்களைச் சரிபார்த்தேன், ஆனால் எதையும் கண்டுபிடிக்க முடியவில்லை. |
| தடுக்கப்பட்ட ரெடிட்டர்கள் | பயனர் தடுக்கப்பட்டால் தரவைக் கொண்டுவருகிறது. |
| GetModerators | மோட்களின் பட்டியலைப் பெறுகிறது. |
| FetchStructuredStyleAndWidgets | இந்த API ஆனது சமூகத்தின் நடை, விதிகள் மற்றும் விவரங்கள் பற்றிய தகவலைக் கொண்டுவருகிறது. |
| Fetch Related Community Recommendations | இந்த API தொடர்புடைய சமூகங்களைக் கொண்டுவருகிறது. |
| SubredditMuting | சப் ரெடிட் முடக்கப்பட்டுள்ளதா என்பதைச் சரிபார்க்கிறது. |
| SubredditFeedElements | துணை-ரெடிட்டின் ஊட்டத்தை ஏற்றுகிறது. துணை-ரெடிட்டுக்கு தேர்ந்தெடுக்கப்பட்ட வடிப்பான்கள் மற்றும் தளவமைப்பு விருப்பங்களை இது எடுக்கும். ஊட்டத்தில் காட்டப்பட வேண்டிய இடுகைகள் பற்றிய அனைத்து விவரங்களையும் கொண்டு வரும். |
| PostInfoByIdComments | இந்தக் கோரிக்கையானது முதல் இடுகையின் கருத்துகளை மட்டும் முன் ஏற்றுகிறது. |
| | |
இடுகை பக்கம் | GetCustomEmojisStatus | இந்த ஏபிஐ சப்-ரெடிட் ஐடியுடன் அழைக்கப்படுகிறது மற்றும் சப்-ரெடிட்டில் தனிப்பயன் ஈமோஜிகளின் நிலையை ஏற்றுகிறது. இந்த API ஏன் அழைக்கப்படுகிறது என்பது தெளிவாகத் தெரியவில்லை, ஆனால் நான் அதை பல சந்தர்ப்பங்களில் பார்த்திருக்கிறேன். பதில் |
| GetSubredditAchievementFlairsStatus | ஈமோஜி நிலையைப் போலவே இது சப்-ரெடிட் ஐடியை எடுத்து, isEnabled: false என பதிலைப் பெறுகிறது. இதன் நோக்கம் எனக்கு விளங்கவில்லை. |
| PostInfoByIdComments | கோரிக்கையில் அனுப்பப்பட்ட இடுகை ஐடியைப் பயன்படுத்தி இடுகையின் கருத்துகளை ஏற்றுவதற்கு இந்த API பயன்படுத்தப்படுகிறது. |
| CommentsPageAds | கருத்துகளுக்கு மேலே விளம்பரத்தை ஏற்றுகிறது. |
| | |
சுயவிவரப் பக்கம் | RedditorByName | உள்நுழைந்த பயனரின் சுயவிவர விவரங்களை ஏற்றுகிறது. |
| PostSetSettings | ஏற்ற வேண்டிய இடுகைகளின் எண்ணிக்கை. |
| GetTopKarmaSubreddits | ஒவ்வொரு சமூகத்திலும் உள்ள கர்மா புள்ளிகளுடன் சிறந்த சப்ரெடிட்களின் பட்டியலைப் பெறுங்கள், ஒவ்வொரு துணை-ரெடிட்டில் எங்கள் செயல்பாட்டிலிருந்து எத்தனை கருத்துகள் மற்றும் இடுகை கர்மாவைப் பெற்றுள்ளோம் என்பதை இந்த API வெளிப்படுத்துகிறது. |
| UserProfileFeed | கருத்துகள் மற்றும் இடுகைகளைக் கொண்ட பயனர் சுயவிவரத்திற்கான ஊட்டம். |
| UserPublicTrophies | ஐடி, பெயர் மற்றும் படம் காட்டப்பட வேண்டிய கோரிக்கையில் அனுப்பப்பட்ட பயனர் பெயரால் பெற்ற சாதனைகள் மற்றும் கோப்பைகளின் பட்டியல். |
| டிப்பிங் சுயவிவரம் இடம்பெயர்ந்தது | டிப்பிங் சுயவிவரத்தைப் பற்றிய விவரங்கள், இந்த அம்சத்தை அதிகம் பயன்படுத்தவில்லை. இது எனது சுயவிவரத்தில் 0 இருப்பைக் காட்டியது 😄. |
இந்த டீர் டவுன் பரிசோதனையின் முடிவில் நான் இரண்டு புள்ளிகளைக் கூற விரும்புகிறேன்.